快速答案:「這個網站發生嚴重錯誤」或整頁空白,九成是某支外掛或佈景的 PHP 錯誤,通常在更新之後發生。先從管理員信箱的復原模式信、或主機的錯誤紀錄找出是哪一支,停用它網站就會回來;再決定是換版本、回復備份還是等修補。
為什麼會這樣 #
WordPress 遇到致命錯誤會顯示「嚴重錯誤」頁,並寄一封含復原模式連結的信給管理員;錯誤發生在更早的載入階段時,就只剩白畫面。成因不外乎:外掛更新後與 PHP 版本不相容、兩支外掛衝突、翻譯檔或程式碼片段有錯、記憶體不足。前台正常、但後台某個動作(例如刪文章)才報錯,也是同一類。
怎麼處理 #
- 看信箱:主旨「您的網站發生技術問題」的信會寫出是哪個外掛或佈景、哪個檔案哪一行,還附復原模式登入連結。用連結登入後停用那支外掛。
- 沒收到信:看主機錯誤紀錄(error_log 或主機面板的 Logs),找
PHP Fatal error那行,路徑裡plugins/xxx就是元兇。 - 進不了後台:用主機檔案管理或 FTP,把
wp-content/plugins/元兇外掛資料夾改名,網站會立刻恢復。不知道是哪支,就把整個 plugins 資料夾改名,再一支一支加回去。 - 找到後先看該外掛有沒有新版(常是已知 bug 已修);沒有就退回前一版,付費外掛從官方下載舊版。
- 剛換 PHP 版本後壞的,先把 PHP 切回去,再逐一把外掛更新到支援新版的版本。
- 修好後清快取、前後台都點一遍,並確認
WP_DEBUG在正式站是關的。
我們實際遇過的情況 #
一家電商的後台出現 500,停用一支 WooCommerce 擴充外掛後恢復;另一個站則是一進後台的外掛頁就報錯,關掉一支版面外掛才正常。一個課程平台後台整個空白,追出來是課程外掛的中文翻譯檔造成的,外掛本體沒壞。一個企業官網出現 fatal error,關掉一支商品篩選外掛才恢復。
比較棘手的是幾個裝了快取外掛的站:前台一切正常,但管理員一刪文章就跳嚴重錯誤。追到是該外掛的 CDN 整合功能在 PHP 8 上的型別錯誤,是外掛本身的問題。這種原廠 bug 改設定沒用,我們的做法是先停用那個整合功能,等原廠修補。
什麼時候該找人 #
錯誤指向 wp-includes 或 wp-admin 核心檔案(可能被竄改)、停用所有外掛仍然壞、或出現資料庫錯誤(Error establishing a database connection、資料表損壞)。這幾種硬修容易把資料弄壞,先停手。
WPTOOLBEAR網站工具熊