常見 wordpress 安裝,運行,使用出現 500 internal error 錯誤分析和解決方法
最近因為寫了一篇博文,內容是關於我的一次 WP 故障情況的解決過程和分析,然後有放在wordpress.org.cn上,結果有很多朋友看過後還仍然有少部分朋友沒能解決問題,在我的博客給我留言,在此我把我目前接觸到的幾種 PHP 500 Error 錯誤情況和處理方法跟大家分享,如果你用這些方法解決了問題,歡迎留言
首先解釋下 500 internal Error 是個什麼東西,翻譯過來就是服務端系統內部錯誤,錯誤的編號 500 ,產生的原因也有多種,大家不要覺得內部錯誤很可怕,其實很多情況只是服務器的安全措施而已,比如腳本解析錯誤或者其他的異常服務器也會出現 500 錯誤,並不是正真的服務器內部錯誤,本文主要說的也是這些相關的錯誤,我就曾經試過上傳一個去掉分號的 phpinfo () 結果直接 500 而不是 PHP 的錯誤號和提示讓你檢查是否丟失分號,如果你的主機是這種情況,那麼以後的 500 錯誤應該是常事了
以下我就把幾種我目前經歷過的錯誤,給大家分享 1,安裝 wordpress 的時候,上傳完畢,當我進入安裝頁面的時候就出現 500 錯誤
這種是最讓人鬱悶的情況,原因有很多種,我只提供幾種我經歷的,可以分為以下幾種:
A、使用了不是官方版,或者穩定版本的 WP,或者已經自行修改過源代碼的版本,一般只要直接上網下載一個穩定版本重新安裝就好了
B、部分虛擬主機只支持 PHP4 或者更低版本,部分 PHP 拓展不支持,目前 WP 最低需要 PHP4.0 或者更高版本,建議你在安裝 WP 之前先 phpinfo () 一下,查看 WP 需要的安裝條件是否滿足,如果不滿足可以考慮換空間
2,所有安裝選項填寫完畢,當我保存我的安裝信息,然後就是 500 錯誤,再進入安裝頁面時無法進入。
這是安裝時最多的情況,請先檢查 A、B 兩個原因,如果滿足可能是下面的情況:
C、數據庫連接問題,一般的主機默認的 mysql 地址是 localhost,但是也不排除在其他的 IP 的可能,IP 填錯結果是無法連接數據庫,然後 PHP 拋出錯誤,服務端回顯 500 錯誤,當然用戶名密碼錯誤也是會 500 的,建議查看你上傳的 config.php 檢查數據庫地址和用戶密碼的是否有效
D、文件權限問題,WP 在安裝的時候可能會修改 WP 的部分安裝文件,如果權限不足,或者沒有權限,那會修改失敗,結果是安裝失敗,服務器返回 500 錯誤,更鬱悶的是有些主機會認為你的修改請求會破壞其他用戶的文件,直接封掉你的目錄 PHP 解釋權限,結果不過你怎麼查,怎麼改,肯定是不行的,我的建議是直接聯繫管理員,他會幫助你處理。因此對於你的主機來說,第一,你必須擁有足夠的權限,第二你必須保證上傳的文件沒有設置成只讀
E、.htaccess 問題,部分的 WP 安裝包包含這個文件,這個文件是在 IIS 下配置訪問權限和保存其他其他配置 IIS 信息的,如果沒有足夠的服務器權限的話,一種情況是文件無效,你保存的修改肯定是無效的,另一種就是服務器直接禁用你腳本權限然後就是 500 或者 404 之類的錯誤,這種情況一般在 windows 主機上出現,建議先確認你是否擁有相關的權限,然後再安裝,個人建議可以把這個文件刪除後上傳,然後在主機的控制面板裡面修改 404 之類的頁面錯誤配置
3,安裝、刪除了 WP 的插件或者配置插件之後出現了 500 錯誤
這類錯誤,出現的原因也很多,一般只要直接刪除這個插件就好了,如果還是沒有用的話,可以直接聯繫管理員
G、還是插件的安裝條件問題,有些插件需要更高的 WP 版本,建議升級或者上網找其他合適版本,其他的拓展支持比如 perl 腳本、python 腳本問題,建議檢查你的服務器是否安裝了這些支持,PHPinfo 一下
H、非官方認可的插件問題,通常這類插件沒有經過各個 WP 的測試,在不同的 WP 上會產生錯誤也很正常,可以直接下載官方認可版本的,或者刪除
I、還是上傳的文件問題,腳本在配置的時候通常需要寫入相應的文件,你的文件設置成只讀的話,後果很嚴重,以後編輯,修改都會出現 500 錯誤
J、插件關聯問題,部分插件通常需要其他的插件支持,刪除某一插件後,另一插件失效,建議在刪除部分插件時檢查其關聯性,以免出現錯誤
4、正常寫日誌、頁面、留言時候出現的 500 錯誤
通常 WP 的日誌編輯器生成的日誌不會出現問題,如果你喜歡先寫完然後複製到編輯器的話可能會出現問題
K、特殊字符的轉換問題,一般正常書寫文本一般不會出現問題,但是如果你的文本中有代碼,或者其他的特殊字符的話,比如&&、$、<、>等符號,注:這裡用的全角,可能會造成 PHP 腳步解析錯誤,或者在寫進數據庫的時候導致數據庫的問題另外喜歡 JavaScript 的朋友注意了,你的日誌中的 JS 代碼如果不處理的話,可能會被服務器執行的,請當心哦,不然出現點後果可能會很恐怖,建議檢查自己日誌中的特殊符號和腳本代碼,然後再保存,如果一直出錯,可以到數據庫下面修改你的日誌
5、修改 WP 主題的時候出現 500 錯誤
這種情況一般是文件權限問題,文件保護問題,另外你自己的修改失誤可能也是一種情況
L、主題的版權保護問題,相信諸位如果用收費主題的話,你的修改可能會修改作者的版權保護文件,那麼會讓 PHP 腳本解析異常,然後服務器返回 500,建議儘量使用免費的主題,如果你喜歡收費的主題,可以在獲得作者授權後修改
M、修改失誤問題,這種情況一般會讓你的主題被 PHP 解釋錯誤,如果修改主頁面、頁眉、頁腳的話當你直接訪問你的主頁的話,就會有 500 錯誤,不過其他的 WP 功能卻能使用比如 WP-update 等等有效,建議備份主題後,從主機下載後你的主題文件本地修改,如果要簡單,直接重裝主題就好了
N、還是權限問題,一般是使用 WP 自帶的主題編輯器編輯主題文件後保存修改失敗,然後就是 500 錯誤,這種情況一般是文件的 rewirte 權限問題,建議檢查權限
6、啟用了 WP 的部分功能(比如郵件發布等)後出現 500 錯誤
這類問題主要還是服務器的拓展問題,WP 需要一些服務器不支持拓展,結果會導致 PHP 錯誤,服務器返回 500 建議聯繫管理員,或者禁用部分功能 7、WP 自身 BUG,這種情況解決原因在與 WP 的內部,解決方法可以直接到 WP 社區留言或者向 WP 反應,更新新的版本等等