解决更换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 has encountered an Access Violation 错误的解决方法
Jan 17 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
php文件读取方法实例分析
Jun 20 PHP
php算法实例分享
Jul 14 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
php利用gd库为图片添加水印
Nov 09 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 PHP
php post json参数的传递和接收处理方法
May 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
探讨php中header的用法详解
2013/06/07 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
jQuery textarea的长度进行验证
2009/05/06 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
Jquery实现的一种常用高亮效果示例代码
2014/01/28 Javascript
JsRender for object语法简介
2014/10/31 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
校运会入场式解说词
2014/02/10 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
兴趣小组活动总结
2014/05/05 职场文书
红色故事演讲稿
2014/05/22 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
常用的MongoDB查询语句的示例代码
2021/07/25 MongoDB
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB