解决更换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的正则处理函数总结分析
Jun 20 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
phalcon框架使用指南
Feb 23 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 PHP
Laravel学习教程之model validation的使用示例
Oct 23 PHP
PHP微信支付结果通知与回调策略分析
Jan 10 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 PHP
php png失真的原因及解决办法
Nov 17 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 Hash函数,增强密码安全
2011/02/25 PHP
PHP引用符&的用法详细解析
2013/08/22 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
Laravel5.5新特性之友好报错以及展示详解
2017/08/13 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
Python实现partial改变方法默认参数
2014/08/18 Python
让Python代码更快运行的5种方法
2015/06/21 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
python关于变量名的基础知识点
2020/03/03 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
python如何提升爬虫效率
2020/09/27 Python
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
美国内衣品牌:Leonisa
2016/08/14 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
银行求职信怎么写
2014/05/26 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
浅谈Python项目的服务器部署
2021/04/25 Python
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android