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


Posted in PHP onOctober 23, 2015

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

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

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

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末尾加入以下代码

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 相关文章推荐
十天学会php之第五天
Oct 09 PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
PHP开发框架kohana中处理ajax请求的例子
Jul 14 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
Jun 17 PHP
整理php防注入和XSS攻击通用过滤
Sep 13 PHP
详解PHP中的null合并运算符
Dec 30 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
PHP配置ZendOpcache插件加速
Feb 14 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 PHP
laravel邮件发送的实现代码示例
Jan 31 PHP
PHP中文竖排转换实现方法
Oct 23 #PHP
浅谈php7的重大新特性
Oct 23 #PHP
php数字每三位加逗号的功能函数
Oct 22 #PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
Oct 22 #PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 #PHP
PHP实现无限级分类(不使用递归)
Oct 22 #PHP
PHP实现递归无限级分类
Oct 22 #PHP
You might like
PHP学习笔记之二
2011/01/17 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
JS画线(实例代码)
2013/11/20 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
2016/02/23 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
pygame学习笔记(5):游戏精灵
2015/04/15 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
Python实现仿射密码的思路详解
2020/04/23 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
python 录制系统声音的示例
2020/12/21 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
《中国的气候》教学反思
2014/02/23 职场文书
英语教师自荐信
2014/05/26 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
初三毕业感言
2015/07/31 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
团干部培训班心得体会
2016/01/06 职场文书
公司晚会主持词
2019/04/17 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python