解决更换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初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
php与XML、XSLT、Mysql的结合运用实现代码
Nov 19 PHP
php下获取客户端ip地址的函数
Mar 15 PHP
php+mysql 实现身份验证代码
Mar 24 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 PHP
drupal 代码实现URL重写
May 04 PHP
PHP调用JAVA的WebService简单实例
Mar 11 PHP
PHP中抽象类和抽象方法概念与用法分析
May 24 PHP
PHP使用自定义方法实现数组合并示例
Jul 07 PHP
详解PHP防止直接访问.php 文件的实现方法
Jul 28 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
PHP7新功能总结
Apr 14 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
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
jQuery 使用手册(七)
2009/09/23 Javascript
js Dialog 实践分享
2012/10/22 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
图解js图片轮播效果
2015/12/20 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
JQueryDOM之样式操作
2019/03/27 jQuery
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
python中xrange用法分析
2015/04/15 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
伦敦一家领先的精品零售商:IRIS Fashion
2019/05/24 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
司机岗位职责
2013/11/15 职场文书
银行职员思想汇报
2013/12/31 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
学校运动会通讯稿
2015/07/18 职场文书
考试后的感想
2015/08/07 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
Python数据分析之绘图和可视化详解
2021/06/02 Python