關于DEDECMS5.7在高環境PHP5.4版本上存在的問題全面解決方案:
雖然DEDE是公然的不安全,但是簡單,而且設置SEO非常方便,今天用dedecms搞了站放PHP環境中,發現不tags title 文章標題及內容中文為空,特分享一下解決方案,有用到的請參考
問題根源:PHP版本升級為PHP5.4之后,htmlspecialchars在php5.4默認為utf8編碼,gbk編碼字符串經 htmlspecialchars 轉義后的中文字符串為空,也就是標題為空。
解決辦法:給htmlspecialchars添加ENT_COMPAT ,'GB2312'參數修改編碼默認值。
具體修改頁面:
1、dede/article_add.php 和 dede/article_edit.php
將 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');
2、include/ckeditor/ckeditor_php5.php
將htmlspecialchars($value)替換為htmlspecialchars($value, ENT_COMPAT ,'GB2312')
3.在所有的htmlspecialchars 代碼后加,ENT_COMPAT ,'GB2312' 即可解決問題
操作方法很簡單,直接在文件夾查找這個文件,然后統一替換