DEDECMS在PHP5.4不能正常运行的解决方法
本文实例讲述了DEDECMS在PHP5.4不能正常运行的解决方法。分享给大家供大家参考。具体分析如下:
PHP5.4是公开发行的PHP程式最新版本,其执行速度和内存占用等相比PHP5.3而言有10%~30%的性能提升,所以笔者也一直想在实际环境中试运行PHP5.4(PHP5.4目前最新的版本为5.4.9)。
棘手的是与PHP5.2升级到PHP5.3有所不同的是,从5.3到5.4之间似乎变化不少,这也造成了笔者在将DEDECMS系统迁移到PHP5.4.x平台的时候出现了前台500错误后台直接空白的情况,当时也没有深究便换回PHP5.3了。
最近仔细查了下相关资料,发现主要是因为目前DEDECMS代码中使用了PHP5.4中弃用的一些函数,主要如下:
allow_call_time_pass_reference、define_syslog_variables、highlight.bg、register_globals、register_long_arrays、magic_quotes、safe_mode、zend.ze1_compatibility_mode、session.bug_compat42、session.bug_compat_warn、session_register以及 y2k_compliance
其中造成DEDECMS5.7无法正常运行的函数便是session_register。
网上实测有效的方法有如下两种:
第一种方法申明将此函数废弃,在include/userlogin.class.php中加入如下代码:
代码如下:function session_register()
{
return true;
}
第二种方法是该该页中的函数代码替换,被替换代码大致在287到308行之间,代码如下:
代码如下:@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->userID;
@session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->userType;
@session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
@session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->userName;
@session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
@session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie('DedeUserID', $this->userID, 3600 * 24, '/');
PutCookie('DedeLoginTime', time(), 3600 * 24, '/');
替换为如下代码:
代码如下:global $admincachefile,$adminstyle;
if(emptyempty($adminstyle)) $adminstyle = 'dedecms';
$_SESSION[$this->keepUserIDTag] = $this->keepUserIDTag;
$_SESSION[$this->keepUserIDTag] = $this->userID;
$_SESSION[$this->keepUserTypeTag] = $this->keepUserTypeTag;
$_SESSION[$this->keepUserTypeTag] = $this->userType;
$_SESSION[$this->keepUserChannelTag] = $this->keepUserChannelTag;
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
$_SESSION[$this->keepUserNameTag] = $this->keepUserNameTag;
$_SESSION[$this->keepUserNameTag] = $this->userName;
$_SESSION[$this->keepUserPurviewTag] = $this->keepUserPurviewTag;
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
$_SESSION[$this->keepAdminStyleTag] = $this->keepAdminStyleTag;
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie('DedeUserID', $this->userID, 3600 * 24, '/');
PutCookie('DedeLoginTime', time(), 3600 * 24, '/');
希望本文所述对大家的dedecms建站有所帮助。
(资源库 www.zyku.net)
您可能感兴趣的文章
- 12-10CentOS 7 将自带的php5.4升级到php5.6的方法
- 06-23PHP常用集成运行环境套件整理与介绍
- 01-11时雨天气-时雨天气应用软件功能介绍
- 10-24ios15口罩解锁怎么开
- 01-11超能清理专家-超能清理专家应用软件功
- 01-09智能门金管家-智能门金管家应用软件功
- 01-11三生有车-三生有车应用软件功能介绍
- 02-26一加9r开启连拍照片方法
- 09-20抖音怎么删除收藏表情
- 10-08iphone13mini更改来电铃声方法介绍
- 02-28Wamp 浏览目录时icons图标不显示的解
- 10-20iwatch7排水功能使用方法分享
- 02-20centos7的网卡名修改为eth0
- 01-12临床医学工程技术士-临床医学工程技术
- 03-02苹果12开启语音控制操作方法
- 11-19airpods三代自定义按键功能方法介绍
- 09-17iphone13和12那个更值得入手
- 01-24帝国cms内容页显示该内容所属专题名称
- 04-04JavaScript实现实时更新系统时间的实
- 01-11注册会计师考试聚题库-注册会计师考试
最近更新
阅读排行
猜你喜欢
- 01-14一点清理-一点清理应用软件功能介绍
- 01-29opporeno5锁屏杂志取消步骤
- 02-19小米手机误删照片找回方法
- 09-27钉钉群接龙怎么参与
- 03-03小米11pro开启勿扰模式方法
- 02-25华为手机更换手机数据迁移方法
- 09-13天猫精灵添加智能电视教程介绍
- 11-04荣耀手环时间在哪调
- 11-09抖音听视频模式功能介绍
- 04-20红魔6pro智能调节设置方法