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

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

2013年2月28日 发表评论 阅读评论

这两天有人反应新版的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中任意位置添加函数

分类: 技术 标签: , ,
  1. 2015年6月17日15:37 | #1

  2. 2015年5月7日20:49 | #2

    为空错误

  3. 2015年5月6日09:58 | #3

    来过咯

  4. 2015年2月10日20:03 | #4

    没用

  5. BZ
    2014年9月29日14:30 | #5

    系统参数不能显示中文,该怎么解决呢

  6. 哈哈
    2013年11月19日16:05 | #6

    第二种方法也成功解决 万分感谢

  7. hihihi
    2013年5月23日09:27 | #7

    那windows怎么办

  8. hihihi
    2013年5月22日20:12 | #8

    sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" grep htmlspecialchars( -rl * 在windows下不起作用啊

  9. ufo
    2013年5月14日12:31 | #10

    没用,加了之后正文录入的地方直接没了

  10. 2013年4月21日14:54 | #12

    谢谢了,解决了,我的是xampp架的WEB。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.