您的位置:首页 > 编程语言 > PHP开发

解决php 5.4下dedecms登陆后台空白,标题不能为空错误

2014-06-24 10:22 543 查看
这两天有人反应新版的php-fpm的php版本为5.4.7对dedecms5.6兼容性不好。dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。1.解决dedecms登陆后台空白错误
因为php5.4的版本废除了session_register,所以需要去掉session_register函数修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
//@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->userID;// @session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->userType;// @session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;// @session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->userName;// @session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;// @session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;2.dedecms发布文章提示"标题不能为空"现象是发布英文标题没问题,发布中文会提示“标题不能为空”
因为htmlspecialchars在php5.4默认为utf8编码,
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。具体方法:
1.在dede安装目录执行
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`2./include/common.func.php中任意位置添加函数
function gbkhtmlspecialchars($str)
{
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
}


本文出自 “king” 博客,请务必保留此出处http://liyanxin.blog.51cto.com/6384195/1430056
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: