|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
2 v) z9 I/ H. `. e! V/ Y& F# \/ p+ K" ?/ l
1.解决dedecms登陆后台空白错误
4 A/ X# Y4 T1 `5 i因为php5.5的版本废除了session_register,所以需要去掉session_register函数
" e; _: I' b+ ]$ G z8 F! l& E8 U/ X, K
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
f& H# Z1 |/ e7 k* K//@session_register($this->keepUserIDTag);0 W7 B; J6 x: o+ L
$_SESSION[$this->keepUserIDTag] = $this->userID;
" g% Q' _2 @; n% r- a
! b0 g5 }! d% v8 d6 U// @session_register($this->keepUserTypeTag);" s8 I0 V/ u* d# N
$_SESSION[$this->keepUserTypeTag] = $this->userType;
8 I @1 F9 Q% N ^, n
3 E; g& |7 B. x! c7 C' z' U// @session_register($this->keepUserChannelTag);2 W2 i" J! g* q/ s4 }
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
# x! D6 q! M; i( q0 P t0 f
$ k8 E! E/ \& v# [( a6 E" B// @session_register($this->keepUserNameTag);
) ]3 U. Z! e6 m$_SESSION[$this->keepUserNameTag] = $this->userName;1 y% Q u' @4 `8 G/ z+ W
. {# X9 d5 _, c) c1 ^// @session_register($this->keepUserPurviewTag);
1 c) i* S1 ~7 P, o8 L+ H. _- |# I$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
6 k/ ^% @+ d0 t# N4 N D; B# o4 A; {' p% `9 H" ?& x2 O# N
// @session_register($this->keepAdminStyleTag);
X( F1 f2 N/ _$_SESSION[$this->keepAdminStyleTag] = $adminstyle;2 `/ d" l4 i* ^2 A6 @
. g+ q* B5 k7 f0 l6 g% J- J O8 L2.dedecms发布文章提示"标题不能为空", \! c9 L. `3 F
9 E9 p% ?5 @3 S D% F% p9 ]1 I/ b
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
% h3 O- P/ ?& U$ r9 A" z! V因为htmlspecialchars在php5.4默认为utf8编码,4 c& \( J6 D. D3 J ?" S2 R3 l" w
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
7 ]/ o0 d2 b4 w8 O+ D" n! p6 B$ ]所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
- G" E: { u$ J+ @' c8 B( P- g. @; V0 S2 T+ \% ~
具体方法:; y4 c2 v2 E8 r7 L
1.在dede安装目录执行! o# L# ?) ?8 D% \/ b( x4 ^
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`3 b2 }& T" D6 f8 Y6 ~; C( W- I: K
% D# b4 X) U* r. `2./include/common.func.php中任意位置添加函数
' i6 Z3 \" U' z7 h0 }
( R- h ]: f, U. Sfunction gbkhtmlspecialchars($str)) g3 r+ j0 i, Z [, z
{# [- _ C( ~1 ?
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1'); p" Z; A- Y! s
}
) T9 B1 K$ o5 B注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml3 B8 I; E- w/ r! Y& c
4 [) E6 L% v# h9 f: G |
|