DedeCMS 5.7不兼容PHP 5.4版本的解决办法
思韵闪耀
2015-04-18
0

dedecms v5.7安装完成后登录后台出现空白,经过分析代码,发现登录验证的时候用到了这个函数session_register() 

原来我的php版本是5.4版本的,经过一系列的搜寻,发现这个函数在PHP5.4版本中已经被弃用了,已经被删除了。 也就是

这个函数不再可用了。直接注释掉就可以了,不用进行注册就可以声明session。

在include/userlogin.class.php中查找function keepUser(),大概在281行
把keepUser()函数下的@session_register();整段删除
 

另外的解决方法就是在include/userlogin.class.php 中声明一个函数
function session_register()
{
  return true;
}

在PHP 5.4下,登录DedeCMS后台输入用户名和密码后没有提示显示为空白,主要原为是php5.4的版本废除了session_register函数。可以采用如$_SESSION[$this->keepUserIDTag] = $this->userID; 这种方式处理完整代码如下:

解决方法一:

打开 include/userlogin.class.php这个文件,在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(empty($adminstyle)) $adminstyle = ‘dedecms’;

//@session_register($this->keepUserIDTag);

$_SESSION[$this->keepUserIDTag] = $this->keepUserIDTag;

$_SESSION[$this->keepUserIDTag] = $this->userID;

//@session_register($this->keepUserTypeTag);

$_SESSION[$this->keepUserTypeTag] = $this->keepUserTypeTag;

$_SESSION[$this->keepUserTypeTag] = $this->userType;

// @session_register($this->keepUserChannelTag);

$_SESSION[$this->keepUserChannelTag] = $this->keepUserChannelTag;

$_SESSION[$this->keepUserChannelTag] = $this->userChannel;

//@session_register($this->keepUserNameTag);

$_SESSION[$this->keepUserNameTag] = $this->keepUserNameTag;

$_SESSION[$this->keepUserNameTag] = $this->userName;

//@session_register($this->keepUserPurviewTag);

$_SESSION[$this->keepUserPurviewTag] = $this->keepUserPurviewTag;

$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;

// @session_register($this->keepAdminStyleTag);

$_SESSION[$this->keepAdminStyleTag] = $this->keepAdminStyleTag;

$_SESSION[$this->keepAdminStyleTag] = $adminstyle;

PutCookie(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’);

PutCookie(‘DedeLoginTime’, time(), 3600 * 24, ‘/’);

至此问题解决。

解决方法二:

找到include文件夹中的userlogin.class.php文件中把所有带有session_register的全部删除即可。

@session_register下的所有语句屏蔽掉

function keepUser()

{

if($this->userID != ” && $this->userType != ”)

{

global $admincachefile,$adminstyle;

if(empty($adminstyle)) $adminstyle = ‘dedecms’;

 代码如下 复制代码

$_SESSION[$this->keepAdminStyleTag] = $adminstyle;

PutCookie(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’);

PutCookie(‘DedeLoginTime’, time(), 3600 * 24, ‘/’);

$this->ReWriteAdminChannel();

return 1;

}

else{….以下省略


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

热门资讯

dedecms升级CKEdit... 下载最新版本的 CKEditor:https://ckeditor.com/ckeditor-4/d...
dede织梦系统之解决自动跳转... 下面介绍如何解决dede织梦系统之解决自动跳转install/index.php的问题 打开网站目录...
织梦后台自带采集无法采集htt... 我们在用织梦后台自带的采集时发现织梦采集是不能完全兼容采集https的目标站的,现在我们来把它完善使...
织梦系统中 @me 实现原理及... 相信很多朋友都遇到过织梦系统dedecms里面的 @me 了吧。 例如,在织梦模板list_arti...
Dedecms如何批量修改文章... 批量修改dedecms时间的方法,语句:update dede_archives set sendd...
织梦ckplayer视频播放器... kplayer视频播放器介绍: CKplayer,其全称为超酷flv播放器,它是一款用于网页上播放视...
dedecms后台管理员密码重... 织梦cms建站系统是目前最流行的门户网站建站系统,功能强大,易于操作。不过经常有站长朋友和我一样,忘...
织梦DedeCms 5.7全站... 1、去除织梦后台登陆页面广告 登陆后台-模块-文件管理器。路径/dede/templets/logi...
织梦dedecms多张默认缩略... 织梦dedecms文章列表是可以调用文章内图片做缩略图的,如果文章内没有缩略图时,就会调用织梦默认缩...
织梦生成报错Fatal err... 从字面意思上看是内存资源被耗尽,内存不足了。 但是在织梦上那是因为文章内容有大量html代码引起的致...