解决更换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 相关文章推荐
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
drupal 代码实现URL重写
May 04 PHP
thinkphp 多表 事务详解
Jun 17 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
php查看网页源代码的方法
Mar 13 PHP
PHP stream_context_create()函数的使用示例
May 12 PHP
PHP获取当前相对于域名目录的方法
Jun 26 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
php生成图片验证码的实例讲解
Aug 03 PHP
实例简介PHP的一些高级面向对象编程的特性
Nov 27 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
Mar 05 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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中几种常见安全设置详解
2010/04/06 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
require.js的用法详解
2015/10/20 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
爬虫利器Puppeteer实战
2019/01/09 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
浅析Python中的序列化存储的方法
2015/04/28 Python
python学习数据结构实例代码
2015/05/11 Python
python简单读取大文件的方法
2016/07/01 Python
mysql 之通过配置文件链接数据库
2017/08/12 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
python如何对实例属性进行类型检查
2018/03/20 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
学习党课思想汇报
2013/12/29 职场文书
法人代表委托书
2014/04/04 职场文书
拔河比赛口号
2014/06/10 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
创建文明城市倡议书
2015/04/28 职场文书
运动会通讯稿100字
2015/07/20 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS