這兩天有人反應新版的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'); }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。