您当前的位置: 主页 > 优化教程
本文实例讲述了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禁止未审核文档支持动态浏览的方法在织梦默认情况下,会员发布的文档即使是未审核的也是可以通过动态方式进行... 2021-07-30
批量删除织梦dedecms文档搜索关键词的方法本文实例讲述了使用SQL命令语句批量删除织梦DEDECMS搜索关键词的... 2021-07-30
织梦dede自定义内容分页,datalist运用实例在/plus文件夹中新建一个ceshi.php文件。。 ?php re... 2021-08-14
织梦文章添加字段填栏目id,内容页调用字段里的栏目文章在织梦模型里增加个字段,然后在添加文章的时候,在字段里填了栏目id进去... 2021-07-27
DedeCMS首页调用缩略图为背景配合{dede:arclist}{/dede:arclist}标签使用... 2021-08-14
dedecmscms 如何在内容页的arclist标签里面调用当前栏目的ID?这个问题貌似很多人都遇到过,但是很多人都不好查问题,百度关键字也没有 ... 2021-08-09
dede 5.7后台移动栏目,下拉列表显示不全的问题想移动子栏目到其他栏目下,点其后的移动,打开的页面里你希望移动到那个栏... 2021-07-22
织梦dedecms实现单页面自动更新文章自动更新dedecms的所有单页面 实现方法 在后台目录的task_d... 2021-07-27
织梦前台会员上传图片附件或修改点击后无效织梦后台没有问题,前台上传图片、附件后却无法点击后选择,查看弹出的窗口... 2021-07-22
dedecms 文章摘要字数修改方法最佳答案:修改文件:dede/article_edit.php 修改内... 2021-07-27
织梦如何去掉网站首页的index.html,小编告诉你!今天我的一朋友和我做友情连接的时候对我 说请把你的域名尾巴去掉,那样影... 2021-08-26
织梦dedecms调用相关文章方法{dede:likearticle} a href=[field:ar... 2021-07-27
DedeCMS编辑文档“读取附加信息出错"的解决办法今天检查了下网站的旧文章,发现不少是读取附加信息出错!的,浏览内容时就... 2021-07-22
dedecms织梦如何实现调用随机数熟悉JS的朋友都知道,JS可以方便的实现随机数的调用,如果把这个问题放... 2021-07-22
织梦Dedecms网站管理后台白屏解决办法织梦Dedecms网站管理后台白屏解决办法 。 1、 登录织梦Dede... 2021-07-30
织梦头部导航通过在标签加判断实现高亮显示教程当我们用 织梦模板 建站时,经常遇到当前导航高亮的调用,用JS方式也能... 2021-07-27
织梦文章页调用文章浏览次数优化调用代码使用织梦建站时,在文章页的信息页面,官方给出的调用文章浏览次数的标签是... 2021-07-22
织梦DedeCMS的tag标签不支持大写字母的解决方法今天发现dedecms中的tag标签点击无效,开始以为是自己标签弄错了... 2021-07-30

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