|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。9 R* z! O9 M5 R) O1 z1 I- x
, U- [( |9 ?: @0 T$ ]" g# z
1.解决dedecms登陆后台空白错误5 t# f: Y3 i8 h1 n2 c* P6 a6 `
因为php5.5的版本废除了session_register,所以需要去掉session_register函数0 I/ ` C0 `! S1 w4 K- K" C
$ W. K! \. D% [- e
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下6 q- O7 C1 t" [0 I; ^
//@session_register($this->keepUserIDTag);% S' U' b6 @) ?9 R9 F
$_SESSION[$this->keepUserIDTag] = $this->userID;
. @9 M* D) E3 Z4 i
5 o+ ]# f# G$ q6 l* h) u// @session_register($this->keepUserTypeTag);
; Q3 K8 i5 P$ m: h* f; z0 \' |! e2 N$_SESSION[$this->keepUserTypeTag] = $this->userType;
7 B, F, H% E4 {' e. X1 p o9 H- I6 x& {7 j
// @session_register($this->keepUserChannelTag);% v3 T$ F' _% g' o
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;8 F) b g8 V1 i' O% r
! A' n) h; O( C& R// @session_register($this->keepUserNameTag);
& {7 K3 L$ i5 H4 Y! I6 u$_SESSION[$this->keepUserNameTag] = $this->userName;9 G, N* _& m3 }. m
5 N+ y) x6 l$ m; [// @session_register($this->keepUserPurviewTag);( d. c& }' \1 c5 e1 r2 [! l0 k! f! w' p
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
, h9 W( l# o4 E4 r9 c* P' }
* b$ J6 P$ M; u9 _- M" I: B1 z4 D// @session_register($this->keepAdminStyleTag);
. m3 I% F6 e2 l1 v$_SESSION[$this->keepAdminStyleTag] = $adminstyle;2 H6 a, I/ j9 j( r* R: Q2 J \
$ s7 k9 X; T2 v& A9 D7 r) R. i. w
2.dedecms发布文章提示"标题不能为空"
2 o' { O: I# {% j2 E1 y) G3 R; y6 G
1 f) c* M @& o4 `6 w& d现象是发布英文标题没问题,发布中文会提示“标题不能为空”
7 a: N* |8 p' G# ?0 T因为htmlspecialchars在php5.4默认为utf8编码,
4 d9 x2 K% M3 F! @$ T; d# O& ^gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。8 C( M/ z& q9 H+ X3 K6 u
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。& b- N) J1 Z7 z. e0 S
7 c6 V2 \1 H. L" U! s7 j
具体方法:: ~+ g# F" }: n+ D/ L- s0 B
1.在dede安装目录执行1 G% p2 y. {. n8 {
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`5 e/ O) z6 A5 S5 h; e2 l
8 h1 P# D) Z+ a+ _9 D8 T! X2./include/common.func.php中任意位置添加函数' o% h) B7 X+ T# y# [) {
8 b4 `2 q% {/ {- _
function gbkhtmlspecialchars($str)4 Q7 O% Y) y# b
{0 c' N e! P- [- S7 m5 V" |/ L
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
; @! N, f7 k! G$ ^1 ?}6 M: ~/ v6 u6 f T1 B I$ U
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml
5 D- u) D8 y. Q$ u4 S1 Z) G6 Z0 D. ~! ?! v& L6 L
|
|