muban大师 发表于 2020-1-11 14:03:11

织梦dedecms登录后台出现500错误

织梦dedecms登录后台出现500错误大部分都是这样解决的哦,也可以把服务器上的php版本降为5.3或者5.2的就可以了
        原因很简单,服务器php环境用的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;
}
页: [1]
查看完整版本: 织梦dedecms登录后台出现500错误