解决更换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&MYSQL服务器配置说明
Oct 09 PHP
PHP6 先修班 JSON实例代码
Aug 23 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
PHP 根据IP地址控制访问的代码
Apr 22 PHP
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
php调用C代码的实现方法
Mar 11 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
php转换颜色为其反色的方法
Apr 27 PHP
php类自动加载器实现方法
Jul 28 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
基于laravel belongsTo使用详解
Oct 18 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 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
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
php简单压缩css样式示例
2016/09/22 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
理解Javascript_09_Function与Object
2010/10/16 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
基于Bootstrap+jQuery.validate实现表单验证
2016/05/30 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
JS设计模式之策略模式概念与用法分析
2018/02/05 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python脚本实现格式化css文件
2015/04/08 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
python实现京东秒杀功能
2018/07/30 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
高中自我鉴定范文
2013/11/03 职场文书
派出所所长先进事迹
2014/05/19 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
高二学年自我鉴定范文(2篇)
2014/09/26 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python