您当前的位置: 主页 > 优化教程
本文实例讲述了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建站有所帮助。
 

关键词:DEDECMS,在,PHP5.4,不能,正常,运,行的,解决    标签:
    更多资讯请收藏关注 网站模板(www.1yc.cn)

织梦dedecms的友情链接图片logo调整大小第一种方法: 直接MYSQL调用DEDE_flink数据表 {dede... 2021-07-22
去除dedecmsdedecms后台与前台登陆验证码!织梦dedecms v5.7 gbk织梦后台与前台登陆验证码怎么去除呢... 2021-08-09
dedecmsCMS实现复制文章自动加出处信息假如发现自己辛苦创作的很多文章被别人复制或者采集而去,一个链接都不留下... 2021-08-09
批量删除织梦dedecms文档搜索关键词的方法本文实例讲述了使用SQL命令语句批量删除织梦DEDECMS搜索关键词的... 2021-07-30
如何修改dedecmsDEDECMS模板tags标签字数限制在织梦dedecms的TAG标签中默认字数较少,只能写12个字符,多出... 2021-08-09
织梦DedeCMS会员登录或退出后如何直接跳转到首页织梦dedecms默认情况下的会员登录后会直接跳转到会员中心,退出也是... 2021-07-30
织梦DEDECMS用sql命令删除自定义变量如果后台添加变量后不想要了,可删除。有两种方法: 1、直接利用phpm... 2021-07-22
织梦推荐去掉加粗样式很多 织梦模板 建站的站长朋友们会碰到这样的问题,文章推荐后会出现加粗... 2021-07-27
织梦dedecms后台怎么增加栏目上传缩略图功能我们用织梦制作企业网站时,因为有很多的栏目,每个栏目的图片都不一样,单... 2021-07-30
dedecmscms文章如没有上传图片,则自动替换为百度/谷歌广告的方法织梦DedeCMS发布文档时有的上传有图片,有的没有图片,没有图片的文... 2021-08-09
织梦文章页原创Meta声明标注在添加这个标签的时候,余斗发现一个问题,就是页面的生成格式默认为:20... 2021-07-22
织梦dede如何让摘要只出现在文章的第一页其实在织梦dedecms前台显示的时候,所有对文章内容的解析都是通过 ... 2021-07-30
Dedecms(织梦)程序MySQL修复表和文章路径修改方法做网站是我们经常会遇到被一些小问题困扰的。其实有些问题非常的简单,通过... 2021-08-14
dedecms织梦模板点击次数人气刷新数字标签的调用dedecms点击次数的标签 1、文章模板中动态调用点击数:(这是默认... 2021-07-22
织梦站点内容自动更新到新浪微博新浪微博是利用feed找到更新文章的。只要给他指定feed地址就可以成... 2021-07-22
织梦源码还原数据后网站打不开解决方案织梦源码还原数据后 首页能打开 内页打不开 这个问题基本是由于没有更新... 2021-09-25

线
咨询热线:
135-0038-3336
在线客服:
点击这里给我发消息
微信交流:
公司官网: www.1yc.cn