php 5.4下dedecmsログインバックグラウンドの空白を解決し、タイトルが空のエラーにならない


この2,3日、新版のphp-fpmのphpバージョンが5.4であることに反応した.7対dedecms 5.6互換性が悪い.
dedecmsのインストールが完了すると、ログインバックグラウンドに空白が表示され、投稿時に「タイトルは空にできません」というメッセージが表示されます.
1.php 5のためdedecmsログインバックグラウンドの空白エラーを解決する.4のバージョンはセッションを廃止しました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はphp 5にあるため、英語のタイトルを発行するのは大丈夫です.4デフォルトはutf 8符号化であり、gbk符号化文字列はhtmlspecialcharsによってエスケープされた中国語文字列が空、すなわちタイトルが空である.だからhtmlspecialcharsにENT_を追加しますCOMPAT,'GB 2312'パラメータは符号化のデフォルト値を修正する.
具体的な方法:1.dedeインストールディレクトリでsed-i"s/html lspecialchars(/gbkhtmlspecialchars(/g"`grep htmlspecialchars(-rl*`
2./include/common.func.phpの任意の場所に関数を追加
function gbkhtmlspecialchars($str)
{
	return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
}