通过网上网友指点然后再再本地测试可以,最终发现是php版本问题,linux的环境是 php5.4.20,经过搜索找到解决方法了看下面.
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安装目录执行【linux环境】如下代码:
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');
}

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。