解决更换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 远程图片保存到本地的函数类
Dec 08 PHP
php 数组的一个悲剧?
May 11 PHP
PHP设计模式之装饰者模式
Feb 29 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
ThinkPHP 表单自动验证运用示例
Oct 13 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
Sep 10 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
Jan 08 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 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
php读取javascript设置的cookies的代码
2010/04/12 PHP
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
JS字符串的切分用法实例
2016/02/22 Javascript
基于javascript实现句子翻牌网页版小游戏
2016/03/23 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
Angular6中使用Swiper的方法示例
2018/07/09 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
python解析文件示例
2014/01/23 Python
python+opencv实现动态物体识别
2018/01/09 Python
python实现音乐下载的统计
2018/06/20 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
浅析Python 条件控制语句
2020/07/15 Python
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
自主招生推荐信格式模板
2015/03/24 职场文书
博士导师推荐信
2015/03/25 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
Java循环队列与非循环队列的区别总结
2021/06/22 Java/Android
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS