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