今天,一個(gè)使用dedecms的朋友詢問我后臺500錯(cuò)誤該怎么辦?為此,我讓他找空間商服務(wù)器,看看是不是空間服務(wù)器有問題了。后來,那位朋友反饋說服務(wù)器方面說沒有問題,我也聯(lián)系了他那邊空間服務(wù)器,確實(shí)沒問題。而那位朋友沒有沒有技術(shù),讓我給他解決。
具體存在的狀況是這樣的:
網(wǎng)站能夠打開,就是dedecms的后臺出現(xiàn)500錯(cuò)誤。
筆者的解決方法:
(1)網(wǎng)站備份。
(2)將dede管理目錄和include目錄重新上傳覆蓋掉空間里面的原文件。
解決以后,筆者進(jìn)行了百度搜索,發(fā)現(xiàn)有人進(jìn)行了以下操作:
前幾天安裝了Linux的一個(gè)發(fā)行版:Ubuntu,打算以后就用Linux做主用系統(tǒng)了。如果你一開始接觸的是Windows,并且一直以來使用的都是Windows的話,可能會(huì)有點(diǎn)不習(xí)慣,不過每個(gè)系統(tǒng)都有每個(gè)系統(tǒng)的好處。
用Linux配置服務(wù)器的方法并不復(fù)雜,按照教程來就行了,不過還是有一些問題
php5.4導(dǎo)致dedecms 后臺登錄出現(xiàn)500錯(cuò)誤
原因很簡單,服務(wù)器php環(huán)境用的php5.4,而dedecms的login.php中使用了一個(gè)被php5.4拋棄不用的函數(shù)(是不是真的拋棄我不知道,反正原文這么寫的)
session_register()
意思就是這說個(gè)函數(shù)不能用了,想用也用不了。方法很簡單,直接注釋掉,不用進(jìn)行注冊就可以聲明session。
在dedecms目錄include/userlogin.class.php中查找
function keepUser()
大概在281行,把keepUser()函數(shù)下的 @session_register(); 整段注釋掉(刪除也可以),結(jié)果如下:
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 中聲明一個(gè)函數(shù)
function session_register()
{
return true;
}