View Categories

WordPress 白畫面、嚴重錯誤:先關外掛的排查順序

< 1 分鐘閱讀

快速答案:「這個網站發生嚴重錯誤」或整頁空白,九成是某支外掛或佈景的 PHP 錯誤,通常在更新之後發生。先從管理員信箱的復原模式信、或主機的錯誤紀錄找出是哪一支,停用它網站就會回來;再決定是換版本、回復備份還是等修補。

為什麼會這樣 #

WordPress 遇到致命錯誤會顯示「嚴重錯誤」頁,並寄一封含復原模式連結的信給管理員;錯誤發生在更早的載入階段時,就只剩白畫面。成因不外乎:外掛更新後與 PHP 版本不相容、兩支外掛衝突、翻譯檔或程式碼片段有錯、記憶體不足。前台正常、但後台某個動作(例如刪文章)才報錯,也是同一類。

怎麼處理 #

  1. 看信箱:主旨「您的網站發生技術問題」的信會寫出是哪個外掛或佈景、哪個檔案哪一行,還附復原模式登入連結。用連結登入後停用那支外掛。
  2. 沒收到信:看主機錯誤紀錄(error_log 或主機面板的 Logs),找 PHP Fatal error 那行,路徑裡 plugins/xxx 就是元兇。
  3. 進不了後台:用主機檔案管理或 FTP,把 wp-content/plugins/元兇外掛 資料夾改名,網站會立刻恢復。不知道是哪支,就把整個 plugins 資料夾改名,再一支一支加回去。
  4. 找到後先看該外掛有沒有新版(常是已知 bug 已修);沒有就退回前一版,付費外掛從官方下載舊版。
  5. 剛換 PHP 版本後壞的,先把 PHP 切回去,再逐一把外掛更新到支援新版的版本。
  6. 修好後清快取、前後台都點一遍,並確認 WP_DEBUG 在正式站是關的。

我們實際遇過的情況 #

一家電商更新後後台報錯,紀錄指向一支 WooCommerce 擴充外掛,停用即恢復,之後改用替代方案。一個課程平台後台整個空白,原因是課程外掛的中文翻譯檔有問題,換掉翻譯檔就好,外掛本體沒壞。一個企業站更新後 fatal error,指向篩選外掛與 PHP 版本不合,先停用、等新版再啟用。

比較棘手的是幾個裝 WP Rocket 的站:前台一切正常,但管理員一刪文章就看到嚴重錯誤,WordPress 還把外掛丟進復原模式。追到是快取外掛的 Cloudflare 整合在 PHP 8 上的型別錯誤,即使根本沒開 Cloudflare 整合也會觸發。這種原廠 bug 改設定沒用,只能停用該功能或等修補。

什麼時候該找人 #

錯誤指向 wp-includeswp-admin 核心檔案(可能被竄改)、停用所有外掛仍然壞、或出現資料庫錯誤(Error establishing a database connection、資料表損壞)。這幾種硬修容易把資料弄壞,先停手。

常見問題 #

進不了後台怎麼停用外掛? #

用 FTP 或主機檔案管理把 wp-content/plugins 裡那支外掛的資料夾改名,網站會立刻恢復;不確定是哪支就整個 plugins 改名再逐一加回。

怎麼知道是哪支外掛造成的? #

看管理員信箱「您的網站發生技術問題」的信,或主機錯誤紀錄裡 PHP Fatal error 那行,路徑裡 plugins/xxx 就是元兇。

前台正常、只有後台某個動作會報錯,也是同一類嗎? #

是。常見於外掛在特定動作(例如刪文章)觸發的程式錯誤,處理方式一樣是找出外掛、停用或等修補。

網站正在白畫面?網站救援當日受理;想有人每月幫你顧著更新:網站守護方案