13995643552
建站专栏
联系我们
13995643552
织梦后台登录后一片空白
您所在的位置:网站建设 » 建站专栏 » 织梦后台登录后一片空白
织梦后台登录后一片空白
时间:2013/9/8 23:44:59;点击:1879
 

织梦后台登录后一片空白
织梦后台登录一片空白?
解决办法(linux):
织梦dedecms v5.7安装完成后登录后台出现空白,经过分析代码,发现登录验证的时候用到了这个函数session_register(),原来我的php版本是5.4版本的,经过一系列的搜寻,发现这个函数在PHP5.4版本中已经被弃用了,已经被删除了。 也就是这个函数不再可用了。直接注释掉就可以了,不用进行注册就可以声明session。

#另外可以用find配合grep查找所有的session_register函数
find . -exec grep -l session_register {} \;

在include/userlogin.class.php文件中查找function keepUser(),大概在281行
把keepUser()函数下的@session_register(...);注销掉,并用$_SESSION来替换,如下:
function keepUser() {
...
...
#@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;
...
...
}

#另外的解决方法就是在include/userlogin.class.php 中声明一个函数,但是这会导致更多其他的问题!!所以不要用这个方法!
function session_register() {
return true;
}

除了session_register()函数被弃用,session_unregister也被弃用,在include/userlogin.class.php这个文件中还定义了另外一个函数exitUser(),它就用到了session_unregister()函数
所以也要修改这个函数,如下:
function exitUser() {
ClearMyAddon();
# @session_unregister($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->userID;

# @session_unregister($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->userType;
# @session_unregister($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;

# @session_unregister($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->userName;

# @session_unregister($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;

DropCookie('dedeAdmindir');
DropCookie('DedeUserID');
DropCookie('DedeLoginTime');
$_SESSION = array();
}

这样就可以了!

 
13995643552
[ 返回 ]
Copyright © 2013-2021 武汉网站建设
关闭