解決php 5.4下dedecms登陸後臺空白,標題不能爲空錯誤

這兩天有人反應新版的php-fpm的php版本爲5.4.7對dedecms5.6兼容性不好。

dedecms安裝完成後會出現登陸後臺空白,發佈文章時提示”標題不能爲空”。

1.解決dedecms登陸後臺空白錯誤
因爲php5.4的版本廢除了session_register,所以需要去掉session_register函數

修改:“include/userlogin.class.php”,註釋掉session_register,修改後如下
//@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;

2.dedecms發佈文章提示"標題不能爲空"

現象是發佈英文標題沒問題,發佈中文會提示“標題不能爲空”
因爲htmlspecialchars在php5.4默認爲utf8編碼,
gbk編碼字符串經 htmlspecialchars 轉義後的中文字符串爲空,也就是標題爲空。
所以給htmlspecialchars添加ENT_COMPAT ,'GB2312'參數修改編碼默認值。

具體方法:
1.在dede安裝目錄執行
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`

2./include/common.func.php中任意位置添加函數

function gbkhtmlspecialchars($str)
{
	return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章