|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
# d3 _- C" ?0 h9 j5 f* T
$ T/ V1 h9 l/ R9 |+ ^1.解决dedecms登陆后台空白错误5 T. ~& H# N: q7 Q" K P- N/ e
因为php5.5的版本废除了session_register,所以需要去掉session_register函数- x9 N4 ^) L- S3 l0 M
) } h. r% w4 \4 d修改:“include/userlogin.class.php”,注释掉session_register,修改后如下# x5 J+ K7 h/ X d9 g
//@session_register($this->keepUserIDTag);6 c7 V7 O$ ^, p2 p; Z, i
$_SESSION[$this->keepUserIDTag] = $this->userID;
- {: T: p% W) w
8 X( |" N0 ]/ T" H7 N# {1 w// @session_register($this->keepUserTypeTag);
0 c9 M$ F% B) F& S$_SESSION[$this->keepUserTypeTag] = $this->userType;& w6 b+ d' r @& [* [
; F! g. A9 ?. W* i7 e8 P// @session_register($this->keepUserChannelTag);
6 x Q$ W; \9 q$_SESSION[$this->keepUserChannelTag] = $this->userChannel;$ x6 H+ ~- f5 N6 ^3 `/ V
: U* E: Y- |- r/ S1 e
// @session_register($this->keepUserNameTag);* I! E) G( X! F' ]+ m
$_SESSION[$this->keepUserNameTag] = $this->userName;( r" s: J4 C% m! F) L. ]$ C
+ ^- A+ L: o2 i4 ~* w5 N# r) Q2 U
// @session_register($this->keepUserPurviewTag);) M; C& I4 E! t' d
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview; ]) P# C* F* g) h# j
! e* `6 a2 P/ ]. y# A: l// @session_register($this->keepAdminStyleTag);+ \( m" }% H! d1 }6 J& a
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
0 ^! d9 J/ |/ @7 x( m* g w
8 u/ z: j/ Q4 @6 n& e& y2.dedecms发布文章提示"标题不能为空" p5 a/ Y* Z$ n+ ^) y
7 h g0 i' }: w: v3 v& \7 |1 v
现象是发布英文标题没问题,发布中文会提示“标题不能为空”0 D0 g0 I' @2 {" ~% v6 H' i+ {
因为htmlspecialchars在php5.4默认为utf8编码,
7 H% E+ i; q5 t) s ?) t: F) Ugbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
- J, c; Y# @4 z# u所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。3 Y4 J) L; C" u% a
! E( N, X0 S: [具体方法:
, k$ `+ E; I6 y6 ?/ a1.在dede安装目录执行! `2 q7 i# I6 K. g( X
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
* Z$ Y$ K9 E1 f5 \; p# a& x8 K
1 r9 ? p0 F! J5 M7 m2./include/common.func.php中任意位置添加函数. h7 A F" S& g0 b% k3 M. E7 s, [
! v- K; V& ^- \
function gbkhtmlspecialchars($str)+ J3 v9 |) Q" v. [ }" v5 a
{
G s9 k' B$ V return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
. h7 N8 v1 A O! n2 n8 a4 \! Q6 O}" ?) \& T( Q- T+ o- R6 u
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml
J# i- `) J& M. H! [( r( C* [! z4 G. a+ {3 ]! f5 B2 G
|
|