|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。. v" S; L, K3 r* _! j. m
, F4 k# e0 j3 @ M7 O/ n
1.解决dedecms登陆后台空白错误( x" |/ G# q- x- A& P1 p" V
因为php5.5的版本废除了session_register,所以需要去掉session_register函数
' H! A$ Z- V6 A" Q6 d: y( F& ]- w2 j. J1 D$ B8 w7 L
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下* [0 W- W! |( j! l. U2 W) x
//@session_register($this->keepUserIDTag);, s, V3 |* H% `3 ~/ x
$_SESSION[$this->keepUserIDTag] = $this->userID;
9 p$ N9 r8 _+ m% g. W, N/ V. h) L- ^) }0 n/ o
// @session_register($this->keepUserTypeTag);8 y+ r. |3 q7 y7 h' [" r( Y
$_SESSION[$this->keepUserTypeTag] = $this->userType;6 p/ C) L! \$ M, B6 K
6 `( b0 K( u5 n; d9 N- R6 @0 c
// @session_register($this->keepUserChannelTag);
3 U( T6 S% ~4 B" {+ x# w- f0 s* X$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
3 ^0 m" V7 a3 Q0 Y4 N4 z: Z7 o& p4 g/ }$ n: p
// @session_register($this->keepUserNameTag);8 v5 H% I! m5 Q2 S4 P8 P- O
$_SESSION[$this->keepUserNameTag] = $this->userName;
* ~1 |$ w* p; V& x0 W! y8 q6 |
: y" M4 D3 R, H3 r0 [// @session_register($this->keepUserPurviewTag);& b/ v& ]: i( [# l1 o( u. k% P* Z( h! ?7 n
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
1 k. y& H; @/ x, F
6 n' D; `5 ]/ k& L// @session_register($this->keepAdminStyleTag);! h& G8 t# Y2 U6 U& b0 \# A" s$ Y
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
% r; A/ V/ r" T3 j# A' b1 s0 B' N1 {( J e4 Q
2.dedecms发布文章提示"标题不能为空" F& A8 z/ ]5 t. h5 F3 W9 a
?% K2 V- E% S# @
现象是发布英文标题没问题,发布中文会提示“标题不能为空”* t' r5 Y: e) x4 z' k I" E4 V6 L9 g
因为htmlspecialchars在php5.4默认为utf8编码,
7 R5 n2 v8 m' |, egbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。 |. j8 p, M! t
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
' h! v5 X8 E% o* c% N
( h- B' S& m# b& R, L2 R% H" I具体方法:
% ~% m- X$ G2 g8 X1 K; I% s1.在dede安装目录执行; L; x/ [ R% B3 r+ U, N x4 r
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`8 \$ D, t5 i1 U6 D! ?1 e
2 o( Q( C; ~* M0 h
2./include/common.func.php中任意位置添加函数; h! Z$ @3 r5 m3 i! H; Q. Y% u/ d
1 m! _( t) b$ a6 V
function gbkhtmlspecialchars($str)
8 j$ }+ B* u! g9 o" H0 a- R{. I1 P* c% M$ F0 B
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');/ W5 B, Z' i# Y
}8 }. o/ i8 x: l7 d$ c0 q6 U
注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml
6 `7 ]1 G% x3 u! G( U! ?4 a
. E; ^' s2 m8 v |
|