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

    织梦在PHP5.4以上版本后台登录空白的解决方法
    POST TIME:2021-05-23 02:49

    解决办法:

    找到include/userlogin.class.php,里面有一个keepuser()函数,它是用session_register来注册一个session变量,但是在php5.4中已经移除了这个功能,见官网介绍:

    如果使用的该php版本肯定会出错的,不过我们可以修改下代码:

     

    把@session_register($this->keepUserIDTag); 注释掉,然后改为

        if (!isset($_SESSION[$this->keepUserIDTag]))

    一共有六个,全部改为下面这样:

     if (!isset($_SESSION[$this->keepUserIDTag]))
        //@session_register($this->keepUserIDTag);
        $_SESSION[$this->keepUserIDTag] = $this->userID;
        if (!isset($_SESSION[$this->keepUserTypeTag]))
        //@session_register($this->keepUserTypeTag);
        $_SESSION[$this->keepUserTypeTag] = $this->userType;
        if (!isset($_SESSION[$this->keepUserChannelTag]))
        //@session_register($this->keepUserChannelTag);
        $_SESSION[$this->keepUserChannelTag] = $this->userChannel;
        if (!isset($_SESSION[$this->keepUserNameTag]))
        //@session_register($this->keepUserNameTag);
        $_SESSION[$this->keepUserNameTag] = $this->userName;
        if (!isset($_SESSION[$this->keepUserPurviewTag]))
        //@session_register($this->keepUserPurviewTag);
        $_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
        if (!isset($_SESSION[$this->keepAdminStyleTag]))
        //@session_register($this->keepAdminStyleTag);
        $_SESSION[$this->keepAdminStyleTag] = $adminstyle;

     

    重新进入后台登录,就可以正常跳转到管理页面了。

    因为对PHP并不熟,网上一般都说是data/common.inc.php文件编码的问题,把编码要改为无BOM格式文件保存,居然没有说是php5.4版本的问题

    另外一种方法:

    在include/helpers/util.helper.php末尾加入以下代码

     function fix_session_register(){   
            function session_register(){   
                $args = func_get_args();   
                foreach ($args as $key){   
                    $_SESSION[$key]=$GLOBALS[$key];   
                }   
            }   
            function session_is_registered($key){   
                return isset($_SESSION[$key]);   
            }   
            function session_unregister($key){   
                unset($_SESSION[$key]);   
            }   
        }   
        if (!function_exists('session_register')) fix_session_register();

    这样php5.4下dedecms就能正常使用了。


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

    截屏,微信识别二维码

    微信号:veteran88

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

     打开微信

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