• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCMS 5.7不兼容PHP 5.4版本的解决办法
    POST TIME:2018-03-15 21:44

    PHP 5.4相对与5.3的变化还是很大的,废除了不少原因的函数,这也导致了一些CMS无法完美支持的问题,比如DedeCMS系统。

    在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{….以下省略


    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!