|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
* t- o' H% i% s; K( m0 u2 p. L$ Y) f9 D4 Z5 O. b
1.解决dedecms登陆后台空白错误
$ S8 j. V. a9 ` u' x4 A& H9 B因为php5.5的版本废除了session_register,所以需要去掉session_register函数
- U/ F; K' O+ ~& G' M- M; l5 Z* I- A" d2 f* l, f
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
6 E: U2 F0 n6 e9 m# L; l$ q//@session_register($this->keepUserIDTag);
' s* z3 C K+ w) s7 l, n$_SESSION[$this->keepUserIDTag] = $this->userID;
% s: C$ M# K) J; l% j/ }1 o2 D# k9 I+ W$ |2 B- V
// @session_register($this->keepUserTypeTag);
2 Q7 Z+ A, O- \; l8 n# D0 }$_SESSION[$this->keepUserTypeTag] = $this->userType;- V8 h5 ]4 @5 W8 _& A( s
. J& b: _/ O, w7 E W; p& i) r+ y// @session_register($this->keepUserChannelTag);6 |& U) p: P$ d* O0 U2 h, V
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;0 M5 H3 c( Z* w/ K& W% |
2 G$ S3 G9 q9 S' x, P* [1 p4 p
// @session_register($this->keepUserNameTag);9 c* ?* f4 X0 c0 W
$_SESSION[$this->keepUserNameTag] = $this->userName;
* d1 L. L0 L% T8 r* d x9 J# I2 J5 Y) H% @9 O6 @9 R% M& u
// @session_register($this->keepUserPurviewTag);+ g, O' M( F4 T
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;* |- R& R8 f1 N
# B4 r7 l% ^+ D: U/ s. F, [9 w
// @session_register($this->keepAdminStyleTag);8 n8 L4 A1 w! D$ W/ ?3 Y. E
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;8 @- }) x3 }2 ~( l. T% x9 h+ K
2 ^* y1 b3 L* U% n* U& ]" O2.dedecms发布文章提示"标题不能为空"! P/ S; l3 y9 N' \
( c# X6 t, ^7 @
现象是发布英文标题没问题,发布中文会提示“标题不能为空”0 T: n/ w( l) r% i
因为htmlspecialchars在php5.4默认为utf8编码,
" \) E4 @# P- L& ]) }gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。! ~" n: i! D: B6 i% B
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。8 C& x+ p1 g( b" m
j5 F8 i7 X4 @* x具体方法:; I! Y. K" V/ w& B( A. ]: P9 b
1.在dede安装目录执行
: }/ F$ c: Z8 e' ~& x; C; o. esed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
! t6 e- i; H R% v/ H$ p: ]% A' A& i7 h$ x7 E+ f
2./include/common.func.php中任意位置添加函数- s t8 h6 z7 L* B- t1 l/ D* b
4 E5 [+ e6 @6 P% v5 t- ^; Hfunction gbkhtmlspecialchars($str)( I7 `" i8 c6 f- {% ]; `5 m
{. i! T, ?8 U6 F' |. \, N: T3 c+ t' a
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
& k+ v( c7 \* C! K) a( X}
! {0 J7 b' E1 P3 b4 ?$ \- g& w5 ^) x注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml' L, e0 C4 G2 v F
: W- W- w y5 r: D0 K
|
|