WordPress 白畫面、500、資料庫連線失敗的排查順序
約 5 分鐘
網站昨天還好好的,今天打開一片白,或跳出一行伺服器錯誤。這種時候最容易做錯的事是慌張亂改:刪檔案、換佈景、把設定一個個試過去。改到後來連原本哪裡壞的都不知道了。下面是一套照順序走的排查流程,多數情況在前三步就會找到原因。
第零步:先確認影響範圍
動手之前先花兩分鐘確認狀況。下面四個答案會決定後面往哪個方向查,也會決定這件事該不該自己動手。
先確認這四件事
- 換一個瀏覽器或用無痕視窗開一次。有時候只是你這台電腦留著舊畫面,別人看是正常的。
- 確認是前台壞還是後台也壞。只有前台壞,通常是佈景或外掛;兩邊都進不去,範圍就更大。
- 回想剛剛做了什麼。更新外掛、換佈景、改設定,還是什麼都沒動?這一題的答案往往就是原因。
- 看同一台主機上的其他網站。如果全都不正常,問題在主機,不在 WordPress。
這四題花不到五分鐘,卻能省下大半的排查時間。實務上最常出現的答案是那句「昨天好像有人按了更新」。有這句話,後面幾乎不用查了,直接從那次更新開始追。
第一步:把錯誤訊息叫出來
白畫面之所以難查,是因為 WordPress 預設把錯誤訊息藏起來,畫面上什麼都不寫。先讓它把話說出來,你才有線索可循,不必一個個設定去猜。
做法是在設定檔裡打開偵錯模式,並且把訊息寫進紀錄檔,而不是直接顯示在畫面上。讓訪客看到內部路徑與檔名不是好事,那等於把網站的結構攤開給人看。打開之後重新整理一次頁面,再去翻紀錄檔,裡面通常會直接寫出是哪一支外掛、哪一個檔案出錯。
如果不方便改設定檔,主機控制台多半也有錯誤紀錄可以看。有些主機商會把訊息記在那裡,內容跟 WordPress 自己的紀錄差不多,一樣看得出是哪個檔案在報錯。
第二步:外掛與佈景,一個一個排除
多數的白畫面與伺服器錯誤都來自外掛或佈景。排除方法很土但有效:全部停用,再一支一支開回來。這個做法不漂亮,卻是最快確定範圍的路。
進得了後台的話,先把所有外掛停用,看網站有沒有恢復。恢復了就一支一支啟用,開到壞掉的那一支就是元凶。進不了後台的話,用主機的檔案管理或連線工具把外掛資料夾改個名字,效果等於一次全部停用。這個做法不會刪掉任何資料,名字改回去就回到原狀。
外掛全部停用還是壞,就把佈景換成 WordPress 內建的預設主題試一次。前台壞、後台正常的情況,佈景的嫌疑通常比外掛大。
第三步:更新失敗與安裝失敗
更新到一半失敗、或外掛裝不起來,多數不是網站壞了,是權限、空間或執行時間不夠。這幾種症狀各自對應到不同的原因,對照著看比一個個試快。
| 症狀 | 通常的原因與處理 |
|---|---|
| 更新中斷後卡在維護模式 | 更新時建立的暫存旗標檔案沒被刪掉。用檔案管理把它刪掉,網站就會恢復 |
| 外掛或佈景安裝失敗 | 先看主機的磁碟空間還夠不夠,再看上傳檔案的大小限制是不是太小 |
| 要求填連線資訊才能安裝 | 檔案權限的問題。請主機商協助調整,比自己亂改權限安全 |
| 更新完成之後才壞 | 優先回頭處理那支剛更新的東西。更新前有備份的話,還原是最快的路 |
這一類問題有個共同點:它們是環境的限制,不是網站內容出錯。所以查的方向是主機設定,不是資料庫或文章。網站恢復之後記得回去確認那次更新到底完成了沒有,停在一半的版本比沒更新更麻煩。
第四步:資料庫連線失敗
畫面直接寫著無法連線到資料庫,那是另一類問題,跟外掛沒有關係。停用外掛、換佈景在這裡都幫不上忙,方向要整個換掉。
原因通常有三種。最常見的是設定檔裡的資料庫帳號密碼被改過或填錯,搬家、換主機、還原備份之後最容易發生。第二種是資料庫伺服器沒有回應,這多半是主機端的狀況,先問主機商比自己查快得多。第三種是資料表損壞,WordPress 有時會直接提示要修復,照著它的指示做通常能救回來。
判斷順序很簡單:最近動過主機或還原過備份,就先檢查設定檔裡的連線資訊;什麼都沒動卻突然這樣,就先問主機商。這兩條路查完還是不行,才輪到資料表修復。
什麼時候該停手找人
自己排查是好事,能省錢,也能讓你下次出事時反應更快。但有幾種情況繼續動下去只會讓事情更糟,遇到就停。
遇到這幾種情況就停手
- 沒有備份,而接下來的動作會改到資料庫。改壞了救不回來,這是整套流程裡唯一沒有退路的一步。
- 懷疑是被入侵,不是單純出錯。出現不認識的管理員帳號、頁面被塞進陌生內容,那要當成資安事件處理,先保留現場不要急著清乾淨。
- 站上有訂單或會員資料,而你不確定操作會不會動到它們。弄丟一筆訂單的代價,通常遠高於請人來看一次。
- 照上面走過一輪還是找不到原因。繼續試錯只會累積更多變數,最後連原本哪裡壞的都說不清楚。
決定停手的時候,順手把做過的事寫下來:改了什麼、什麼時間改的、當時畫面顯示什麼。這份紀錄交給接手的人,通常能省下一半的時間,也能避免對方把你已經排除過的路再走一遍。
多數 WordPress 的故障沒有那麼神祕,八成落在外掛、佈景、更新失敗這三類。照順序查,每動一步就記下自己改了什麼,就算最後要找人幫忙,那份紀錄也會省下不少時間。真正該避免的只有一件事:在沒有備份的情況下亂改。
常見問題
- 網站一片白,連後台都進不去,怎麼辦?
- 用主機的檔案管理或連線工具,把外掛資料夾改個名字,等於一次停用所有外掛。多數情況後台就進得去了,接著再把資料夾名字改回來,一支一支啟用找出問題那支。這個做法不會刪掉任何資料。
- 更新到一半斷掉,網站卡在維護模式怎麼救?
- 更新時 WordPress 會建立一個暫存的旗標檔案,正常結束會自己刪除。中斷的話它留在那裡,網站就一直顯示維護中。用檔案管理把那個檔案刪掉,網站就會恢復。恢復之後記得確認那次更新有沒有完成。
- 出錯之後可以直接拿舊備份蓋回去嗎?
- 可以,但先確認兩件事。第一,備份是什麼時候的,蓋回去會不會弄丟這段期間的訂單或文章。第二,如果懷疑是被入侵而不是單純出錯,直接還原可能連後門一起還原回來。單純的更新失敗用備份還原是最快的路,資安事件則要另外處理。