解决更换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 相关文章推荐
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
PHP连接SQLServer2005方法及代码
Dec 26 PHP
php使用fputcsv()函数csv文件读写数据的方法
Jan 06 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
Twig模板引擎用法入门教程
Jan 20 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
PHP 7.1新特性的汇总介绍
Dec 16 PHP
详解PHP发送邮件知识点
May 06 PHP
PHP单元测试框架PHPUnit用法详解
Jan 23 PHP
PHP defined()函数的使用图文详解
Jul 20 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 30 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 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
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
PHP实现计算器小功能
2020/08/28 PHP
web基于浏览器的本地存储方法应用
2012/11/27 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Python Flask基础教程示例代码
2018/02/07 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
python字符串Intern机制详解
2019/07/01 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
小学英语教学反思案例
2014/02/04 职场文书
合作协议书范本
2014/04/17 职场文书
国际会计专业求职信
2014/08/04 职场文书
公司离职证明范本(5篇)
2014/09/17 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
统计工作个人总结
2015/03/03 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python