解决更换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
杏林同学录(七)
Oct 09 PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
如何让thinkphp在模型中自动完成session赋值小教程
Sep 05 PHP
主流PHP框架的优缺点对比分析
Dec 25 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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实现mysql数据库连接操作及用户管理
2015/11/08 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
购物车前端开发(jQuery和bootstrap3)
2016/08/27 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
如何运行Python程序的方法
2013/04/21 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
python协程gevent案例 爬取斗鱼图片过程解析
2019/08/27 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
Python dict的常用方法示例代码
2020/06/23 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
学生出入校管理制度
2014/01/16 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
新年主持词
2014/03/27 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript