|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。! u6 H6 I' T0 C* S% Z: X
1 J$ Q! \' n+ I9 {9 C# v1.解决dedecms登陆后台空白错误1 k- |( p, P- L% Q
因为php5.5的版本废除了session_register,所以需要去掉session_register函数9 T8 r5 X, r+ x9 N; D1 L- q' L* G
. _* p8 _8 X5 P% F" j+ w& @修改:“include/userlogin.class.php”,注释掉session_register,修改后如下: b3 n; b8 B `3 O0 e0 X
//@session_register($this->keepUserIDTag);
- w! f- ^6 j3 \ h/ F# J Z4 w! B$_SESSION[$this->keepUserIDTag] = $this->userID;6 w6 J! |' E |3 k( b
8 S! [# v3 h& q// @session_register($this->keepUserTypeTag);
! h+ }: d4 t$ k$_SESSION[$this->keepUserTypeTag] = $this->userType;
: c' w# _3 B8 S9 F/ L! W% d
% l+ e# ^+ f. Q// @session_register($this->keepUserChannelTag);3 U+ K$ T/ O, ~$ q: o1 d+ K$ |5 T& g
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;5 F2 m/ v( |! P& F. p3 t
# }* [9 j% Z9 }$ E n' T* O// @session_register($this->keepUserNameTag);
: b, v6 `5 x' k: N3 a$_SESSION[$this->keepUserNameTag] = $this->userName;/ J# g/ r% A M4 z5 S1 N
; \. i# c$ D: o1 r# Z// @session_register($this->keepUserPurviewTag);
5 i* C6 {' w5 o9 G Y- a$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
. y) H; j/ y/ `. r4 c5 B$ Y$ g" x- ?. M: V5 [8 L7 _4 i
// @session_register($this->keepAdminStyleTag);
; s$ C/ e7 r" g, t$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
# H- y0 V+ d- U& T7 \
; @6 I$ A4 H* n+ H7 w4 i" C2.dedecms发布文章提示"标题不能为空"7 D, U" f1 f( f; R' U
2 C R& ~9 G7 K
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
0 G5 u0 c$ T1 C; L7 W& A8 {因为htmlspecialchars在php5.4默认为utf8编码,
# |+ J: \0 ~; [gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
. ]' z; \/ F5 g: f6 r5 v9 K所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。$ v( z1 H1 i! _ t0 d) D# c
* l* J: @: d6 U+ Q具体方法:
1 `4 B7 |# ?& H) {3 m1.在dede安装目录执行7 P% l7 S4 o' y9 ~, t: t4 H. _
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`- c ]* F4 m- D2 }! u b
* H5 N6 K* Q6 _, R$ \# K2./include/common.func.php中任意位置添加函数" J( o, Z3 [ Z% Q* G
9 o7 V- \! f x
function gbkhtmlspecialchars($str)
Y" y ~/ S# O& [& x( Z. Y7 I{: K% x& D- j$ T4 T) O
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');" J, u- Q. a* q O4 _# H7 r$ X) l
}3 e/ ?+ P8 d f' m! k& d5 E
注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml! V( e( C1 `- j
L7 }' I0 [9 w; H( A4 k
|
|