您的位置:首页 > 编程语言 > PHP开发

dedecms后台/dede/login.php登录空白,或无法登陆显示500 错误解决办法

2013-03-23 17:48 911 查看
转载自:http://fuyun365.diandian.com/gongju/php5-4-dedecms-background-dede-login-php-login-blank-solution.html

 

 

今天把电脑上的phpStudy升级到2013版。在登录本地织梦dedecms5.7时,/dede/login.php居然显示空白。由于周五我安装了
windows8,因为是电脑问题,等我关掉防火墙配置好电脑服务后,发现还是不行。在百度后终于得到高人的日志指点。

原因很简单,phpstudy2013版是用的php5.4,而dedecms的login.php中使用了一个被php5.4抛弃不用的函数(是不是真的抛弃我不知道,反正原文这么写的)

session_register()


意思就是这说个函数不能用了,想用也用不了。方法很简单,直接注释掉,不用进行注册就可以声明session。

在dedecms目录include/userlogin.class.php中查找
function keepUser()


大概在281行,把keepUser()函数下的 @session_register(); 整段注释掉(删除也可以),结果如下:

function keepUser()  

{  

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

    {  

        global $admincachefile,$adminstyle;  

        if(emptyempty($adminstyle))
$adminstyle = 'dedecms';  

 

        //@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, '/');  

          

        $this->ReWriteAdminChannel();  

          

        return 1;  

    }  

    else 

    {  

        return -1;  

    }  



另外的解决方法就是在include/userlogin.class.php 中声明一个函数

function session_register()

{

return true;



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CMS PHP
相关文章推荐