今天家裏的電腦上新裝DEDE5.7後臺登陸後竟然一片空白經過分析代碼,發現登錄驗證的時候用到了這個函數session_register(我的環境:win7+PHP5.4.3+Apache2.2.22+mysql5.5.24),原來我的php版本是5.4.x版本的(),經過一系列的搜尋,發現這個函數在PHP5.4版本中已經被棄用了,已經被刪除了。也就是這個函數不再可用了。直接註釋掉就可以了,不用進行註冊就可以聲明session。
解決方法是:
找到include文件夾中的userlogin.class.php文件中
@session_register下的所有語句屏蔽掉。紅色部分
function keepUser()
{
if($this->userID != ” && $this->userType != ”)
{
global $admincachefile,$adminstyle;
if(empty($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{….以下省略