|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。* r3 q4 J0 z0 }+ M; |& g* ?3 e o
+ R( t5 P" J* }) V( T( _1.解决dedecms登陆后台空白错误
+ N; |3 v4 r: F) _因为php5.5的版本废除了session_register,所以需要去掉session_register函数
7 X) a9 U7 ?) `6 f8 I. [% l7 ~' q' j
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
9 c" s4 X8 O/ h) {3 i/ H" L//@session_register($this->keepUserIDTag);) k/ U) T6 C$ {
$_SESSION[$this->keepUserIDTag] = $this->userID;( L% P! Q4 j) j V
" `5 x' |' x+ S% Y! @; d// @session_register($this->keepUserTypeTag);4 Q& ?4 z7 @9 ?; d/ w
$_SESSION[$this->keepUserTypeTag] = $this->userType;8 }" p% V# R9 v2 E
- V9 z1 d! S/ m1 }* ~/ I// @session_register($this->keepUserChannelTag);& M- U v1 \3 \" N+ x4 p& }. e
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
7 X9 [( }+ X! e3 R; `
- _$ a. d- k0 ]// @session_register($this->keepUserNameTag);
2 A4 e W' R1 R$_SESSION[$this->keepUserNameTag] = $this->userName;( A/ Y1 V9 ~7 v; d0 |' @
7 m1 e# M, j; f" S' ?# _9 d
// @session_register($this->keepUserPurviewTag);
; v1 n2 a9 l' _& l& h" |$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
; y7 [/ m. E' L: w! }: F8 Q) i' O. N5 m4 M* V/ {
// @session_register($this->keepAdminStyleTag);
3 {& ~. k) i2 p) G$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
1 r" o" e% u1 d9 R' s1 X) v2 c; }# _+ G, L4 `2 R! e# d+ C/ g4 q
2.dedecms发布文章提示"标题不能为空"
: v) I A! D% C
' k( p% d5 G7 p3 |7 B$ Q2 p! h$ c现象是发布英文标题没问题,发布中文会提示“标题不能为空”
- {5 L4 u" t( ~) {) f# d9 n因为htmlspecialchars在php5.4默认为utf8编码,& B- i- x: u: e$ K( M/ I2 @
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
5 ^" o! j" N3 @所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
* y4 D: t3 Z: m5 A2 E0 R2 e/ F. ]* j7 n
具体方法:
1 e, a7 D" V& j7 `9 l2 }" S1.在dede安装目录执行
+ ]$ S: P7 V4 z: ]sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
D* h9 h/ x+ p$ t- a4 ^# F
+ M, s! G/ Q H0 I4 W2./include/common.func.php中任意位置添加函数2 j5 w z" O) T5 h7 {. Z/ M
; D! s0 c7 ]6 O. {+ ?4 pfunction gbkhtmlspecialchars($str)' m% C7 q/ u- Z5 l# ?
{1 M8 u3 a) N( \" a/ m7 @
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1'); a' q) J" Y4 ^. D c5 l9 g" [
}, M3 f- A E. O8 H+ z8 \' S1 H. J' n
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml' J* [ e7 n1 q4 ~1 h$ l8 V t
' h. x* d( h) {& `( q5 L
|
|