解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法

解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法,第1张

概述介绍《PHP学习:解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法》开发教程,希望对您有用。

《:解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法》要点:
本文介绍了:解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法,希望对您有用。如果有疑问,可以联系我们。

把PHP的版本从5.2.14升到了5.4.15,升级完后Dedecms后台却打开空白,检查了各种权限和文件,都没有问题,找来找去,原来是PHP版本函数的问题,它是用session_register来注册一个session变量,但是在PHP5.4以上中已经移除了这个功能
解决方法:
找到include/userlogin.class.PHP,里面有一个keepuser()函数,但是在PHP5.4中已经移除了这个功能,见官网介绍:PHP实例

PHP实例

如果使用的该PHP版本肯定会出错的,不过我们可以修改下代码:
把@session_register($this->keepUserIDTag); 注释掉,然后改为
if (!isset($_SESSION[$this->keepUserIDTag]))
一共有六个,全部改为下面这样:
PHP实例

if (!isset($_SESSION[$this->keepUserIDTag])) //@session_register($this->keepUserIDTag);  $_SESSION[$this->keepUserIDTag] = $this->userID;  if (!isset($_SESSION[$this->keepUserTypeTag])) //@session_register($this->keepUserTypeTag);  $_SESSION[$this->keepUserTypeTag] = $this->userType;  if (!isset($_SESSION[$this->keepUserChannelTag])) //@session_register($this->keepUserChannelTag);  $_SESSION[$this->keepUserChannelTag] = $this->userChannel;  if (!isset($_SESSION[$this->keepUserNaMetag])) //@session_register($this->keepUserNaMetag);  $_SESSION[$this->keepUserNaMetag] = $this->username;  if (!isset($_SESSION[$this->keepUserPurvIEwTag])) //@session_register($this->keepUserPurvIEwTag);  $_SESSION[$this->keepUserPurvIEwTag] = $this->userPurvIEw;  if (!isset($_SESSION[$this->keepadminStyleTag])) //@session_register($this->keepadminStyleTag);  $_SESSION[$this->keepadminStyleTag] = $adminstyle; 

重新进入后台登录,就可以正常跳转到管理页面了.
因为对PHP并不熟,网上一般都说是data/common.inc.PHP文件编码的问题,把编码要改为无BOM格式文件保存,居然没有说是PHP5.4版本的问题
另外一种办法:
在include/helpers/util.helper.PHP末尾加入以下代码
PHP实例

function fix_session_register(){    function session_register(){      $args = func_get_args();      foreach ($args as $key){        $_SESSION[$key]=$GLOBALS[$key];      }    }    function session_is_registered($key){      return isset($_SESSION[$key]);    }    function session_unregister($key){      unset($_SESSION[$key]);    }  }  if (!function_exists('session_register')) fix_session_register(); 

这样PHP5.4下Dedecms就能正常使用了,希望本文分享的两种办法都可以帮助大家顺利解决问题.PHP实例

欢迎参与《:解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法》讨论,分享您的想法,内存溢出 jb51.cc为您提供专业教程。

总结

以上是内存溢出为你收集整理的解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法全部内容,希望文章能够帮你解决解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/1007082.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存