|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。8 s. o; P5 {* l( R- g) B
% p& K# ]1 F8 l3 n
1.解决dedecms登陆后台空白错误
, Y' E( {- G9 ~! N3 I; n$ ^因为php5.5的版本废除了session_register,所以需要去掉session_register函数0 v- P& ? M( Z1 R; C
) G/ a! a/ T) k" @4 g
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下* U3 F3 w/ r/ X3 l" U: B
//@session_register($this->keepUserIDTag);
; y5 `: Z1 }' S8 _. _, }$_SESSION[$this->keepUserIDTag] = $this->userID;) L& \6 f9 L7 E( a! _9 ~) V6 z
4 O+ Z7 k/ ~* D$ s
// @session_register($this->keepUserTypeTag);
6 K. {! _) X7 _ J% a! O/ _$_SESSION[$this->keepUserTypeTag] = $this->userType;
, [( u+ u5 m3 g2 c( ?& I
+ i1 C6 H2 g4 @& u) Z0 K1 c// @session_register($this->keepUserChannelTag);) q/ M, v! ~1 @5 b3 R4 T" E$ c# c0 v
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
- G! b( G/ G- {1 t5 s: T9 U! u& S# v# c7 J
// @session_register($this->keepUserNameTag);
- R; @# j" Z( d6 p/ j$_SESSION[$this->keepUserNameTag] = $this->userName;, L8 Q! X; I4 t$ y6 ]5 v
9 w; U9 v* I6 Z/ V3 S" P J// @session_register($this->keepUserPurviewTag);. m) `0 \) Q: U8 H' M5 k2 W
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;0 R# I! ?0 d6 r. i H. o% h
/ b6 s5 W, f! `- Q$ N9 h
// @session_register($this->keepAdminStyleTag);3 C+ A" {0 D$ s5 b5 m i
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
0 D0 K7 J. Q- \4 r7 S" D- w# A6 r# Q
2.dedecms发布文章提示"标题不能为空"
* A! z8 ~, q0 X# H7 N4 J2 \9 ]* N& h7 j% W. B
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
/ t7 ?4 d, K- S( F6 ~因为htmlspecialchars在php5.4默认为utf8编码,
+ W5 _6 u" _9 X8 b8 J) T" ^. fgbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
0 w7 {5 i3 B/ }7 a* i所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。6 |5 O: y: E( M+ D8 W4 P i
5 ]5 S/ ^) q1 t3 @
具体方法:
- u1 Z3 X# T5 x1.在dede安装目录执行4 v/ O: I$ P8 F( S l/ C$ o
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
; c7 }, c6 C* x& S' V3 t4 L4 ^% x# F O0 M" a
2./include/common.func.php中任意位置添加函数
% J5 P0 j* K% O1 n4 g2 {! ^
) r/ {1 z/ ]9 u# p& l6 a5 vfunction gbkhtmlspecialchars($str)
) u% E6 z& o4 g* {# B{
5 x+ @# c. T/ {1 L return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');( h$ g Q: w/ B
}$ s7 [9 [8 f6 J$ o
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml; Q9 F7 [; y6 a% ?$ R
$ m- k, q6 r" i) m7 O |
|