织梦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(); 整段注释掉(删除也可以),结果如下:

functionkeepUser()
{
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();

return1;
}
else
{
return-1;
}
}

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

functionsession_register()
{
returntrue;
}

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。