DedeCMS系统php5.4环境下登录退出后台空白的解决办法说明

php5.4删除了session_unregister函数,导致Dedecms系统安全登录退出时,后台页面会出现空白:大家看一下安全退出时的代码,就知道了:

  1. function exitUser()
  2. {
  3. ClearMyAddon();
  4. @($this->keepUserIDTag);
  5. @session_unregister($this->keepUserTypeTag);
  6. @session_unregister($this->keepUserChannelTag);
  7. @session_unregister($this->keepUserNameTag);
  8. @session_unregister($this->keepUserPurviewTag);
  9. DropCookie('dedeAdmindir');
  10. DropCookie('DedeUserID');
  11. DropCookie('DedeLoginTime');
  12. $_SESSION = array();
  13. }

这样我们可以看出 是php版本的问题,因为我网站php版本5.4,php5.4的版本删除了session_unregister这个函数,而dedecms系统没有做相应调整,所以不支持最新版php。

解决办法有两个,如下

第一种:

在include/userlogin.class.php中查找function keepUser(),大概在281行左右

把keepUser()函数下的@session_register();整段代码删除去

第二种:在include/userlogin.class.php 中声明一个函数

  1. function session_register()
  2. {
  3. return true;
  4. }