如何修復 WordPress 白屏死機錯誤 (WSoD)

已發表: 2023-01-10

加載您的 WordPress 網站卻看到一個空白的白頁,這令人沮喪。 這通常被稱為WordPress 白屏死機錯誤。

在本指南中,我們將向您詳細介紹如何深入了解導致您網站出現錯誤的具體原因以及具體的修復方法:

  • 為什麼我在 WordPress 中看到死機白屏?
  • 步驟 #1 – 從清除您網站的緩存開始
  • 步驟 #2 – 檢查您的 PHP 錯誤日誌
  • 步驟 #3 – 使用調試模式識別錯誤
  • 步驟 #4 – 增加您的 WordPress 和 PHP 內存限制
  • 第 5 步 – 回憶您所做的最後更改
  • 步驟 #6 – 禁用插件
  • 步驟 #7 – 恢復站點備份
  • 調試選項:檢查主題是否存在潛在問題

為什麼我在 WordPress 中看到死機白屏?

遇到 WordPress 白屏死機錯誤特別令人沮喪,因為顧名思義,您所看到的只是一個白屏。 沒有關於原因可能是什麼以及在哪裡尋找的信息。

白屏死機錯誤示例 (wsod)

在我們開始討論如何確定您網站上的錯誤原因並讓一切恢復正常運行之前——以下是最常見原因的細分:

  • PHP 代碼錯誤(通常是剛剛發生的插件更新)
  • 耗盡 PHP 內存限制

注意:如果來自插件的腳本或進程突然需要更多資源,您更有可能遇到某些 WordPress 託管提供商的這些問題,這取決於他們如何限制資源和限制站點。 如果您的託管服務提供商似乎很容易發生這種情況,那麼可能是時候考慮轉向更好的WordPress 託管服務提供商了,因為如果您曾經進行過大型營銷活動,容易崩潰的主機也很可能會使您的網站脫機一次帶來大量流量,等等。

因此,事不宜遲 - 讓我們來看看如何修復您網站上的 WSoD 錯誤:

如何修復 WordPress 白屏死機

步驟 #1 – 從清除您網站的緩存開始(包括緩存插件)

如果這是一個生產站點,那麼您很可能有緩存——如果沒有,您可能應該 雖然強烈建議這樣做,但這可能意味著當您查看緩存在瀏覽器或服務器上的版本時,您無法看到網站真正發生的事情。

注意:這還包括您可能擁有的任何其他緩存層。 例如,緩存插件——除了服務器級緩存之外,一定要清除那些。

清除 WordPress 中的緩存後,您還需要清除瀏覽器的緩存。

清除瀏覽器緩存

如果您無法再訪問您的 WordPress 管理區域:可以使用 WP-CLI 清除緩存。 通過SSH 連接到您的站點– 首先,導航到您站點的目錄 – 對於 Servebolt 上的站點(示例包含在下面的第 1 行中)。 之後,刷新緩存並可選擇排除主題和插件的激活:

cd ~/public

wp cache flush --skip-plugins --skip-themes

完成後,嘗試再次訪問您的站點以查看問題是否仍然存在。

如果它仍然不起作用,請繼續閱讀其他可能的解決方案……

步驟 #2 – 檢查您的 PHP 錯誤日誌

注意:如果您不習慣閱讀日誌文件,請跳到第 3 步。

一旦您排除了緩存,第一步就是檢查您的 PHP 錯誤日誌。 我們始終建議默認檢查日誌,因為它們是找出錯誤、問題或潛在問題真正來源的最佳方式。

在此處了解有關查看和檢查日誌文件的更多信息。

這樣,在實施本文中的任何潛在修復之前,您就會明白原因(即,在測試提高內存限制是否會解決問題之前,了解正在運行的插件需要更高的限制是有意義的) .

檢查錯誤日誌的目的是為您指明正確的方向。 然而,實際使用您在這裡發現的內容當然也同樣重要! 這意味著錯誤和警告都是首先引起您注意的地方,並努力解決它們(如果您對此不滿意,我們建議您與開發人員合作)。

步驟 #3 – 使用調試模式識別錯誤

WordPress 中內置的“調試”模式可以幫助您識別服務器上的任何錯誤。 要在 WordPress 中啟用調試模式,請打開您的 wp-config.php 文件,並在最後一行之前添加以下代碼:

// Enable WP_DEBUG mode

define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file

define( 'WP_DEBUG_LOG', true );

注意:啟用 WP_DEBUG 模式將導致顯示所有 PHP 錯誤、通知和警告。 對於未損壞但不遵循 WordPress(和/或 PHP)開發約定的內容,這可以顯示錯誤和警告消息。

現在,當您打開網站時,您可能會看到錯誤或通知,而不是白屏。 當您在 WordPress 上啟用調試時,它還會創建一個debug.log文件,您可以檢查是否有任何錯誤。

這是一個日誌文件,其中包含有關所有錯誤或警告的信息。 您可以在wp-content目錄中找到它。 檢查日誌文件以確定導致問題的原因並修復它。

例如,如果問題是由插件引起的,錯誤將記錄在調試文件中。 然後您可以停用該特定插件並將問題報告給開發人員。

完成後,只需從wp-config.php文件中刪除代碼即可退出調試模式。 這是識別 WordPress 網站錯誤的更好方法之一,但並不總能捕獲您網站上發生的所有錯誤。

確保退出調試模式。 許多用戶不小心將其打開,導致網站性能下降和資源消耗增加。

步驟 #4 – 增加您的 WordPress 和 PHP 內存限制

服務器上設置的內存限制也可能是導致問題的原因。 您站點上的每個插件都運行不同的腳本,消耗服務器的內存來執行。

除此之外,WordPress 還施加了內存限制,以防止插件運行會降低您網站速度的低效進程。 話雖這麼說,當腳本需要的內存超過允許的內存時,它可能會導致白屏死機。

但在嘗試增加可用內存之前,您可能需要查看日誌以確定究竟是什麼佔用了所有這些內存。 不建議盲目增加內存,因此首先仔細查看日誌很重要。

要解決此問題,您可以增加不同插件可用的內存量。 使用 SFTP 登錄您的服務器,然後找到 wp-config.php 文件。 在大多數情況下——包括在 Servebolt 上——它會在你的公共文件夾中。

打開 wp-config.php 文件,並在底部添加以下行:

define( 'WP_MEMORY_LIMIT', '64M' );

這使 WordPress 能夠為插件腳本分配最多 64 MB 的內存。 在某些情況下,這可能會解決問題。 如果它不能立即修復它,請嘗試更大的值,例如 125、256 和 512。可能是性能較差的代碼使用的內存比平時多得多,因此當有更多可用時它會突然出現。

請記住,在 Servebolt 上,除非您定義限制,否則 WordPress 將始終使用最大可用內存。 因此,如果您之前限制了可用內存,則只應執行此步驟。

或者,在 Servebolt 控制面板中,您還可以設置更高的 PHP 內存限制。 只需轉到您的站點設置,您可以在其中更改您網站的 PHP 內存限制,如下所示。

在 Servebolt 控制面板中設置更高的 Php 內存限制

第 5 步 – 回憶您所做的最後更改

想一想您是否進行了更改——安裝並激活了插件,還是更改了設置。 白屏死機一般發生在PHP崩潰時(即與服務器無關)。

因此,這可能意味著您最近在導致這種情況發生的插件中啟動了一個進程(即具有處理大型媒體庫等的有效方式的圖像優化插件)。

您可能需要考慮使用 Git,因為它可以更輕鬆地跟踪更改和回顧以前的迭代。 Git 將存儲您所做的任何更改,允許您在需要時調用它們。

如果您能夠確定您所做的更改是什麼,它可以很容易地回溯並註意啟用該設置不起作用(並且不應再次嘗試),直到插件或主題開發人員已經聯繫以解決問題。

步驟 #6 – 禁用插件

這是一種稍微繁瑣且不太可取的方法,這就是它如此之低的原因。 單獨對每個插件進行故障排除很麻煩,但您可以應用批量操作,例如一次性停用所有已安裝的插件。

如果您無法訪問儀表板區域,則必須使用FileZilla等 SFTP 客戶端連接到您的站點 搜索 wp-content 文件夾,您會看到一個名為“plugins”的目錄。

將其重命名為“plugins-deactivated”並保存您的更改。 WordPress 將無法再找到用於在您的站點上加載插件的文件夾。 因此,它將自動完全停用它們。 這是因為 WordPress 尋找一個名為plugins的文件夾如果找不到該文件夾,它會自動認為所有插件都已停用。

在 WordPress 中停用插件

此時,返回您選擇的 FTP 客戶端並將文件夾的名稱設置回plugins 您現在可以返回您的管理區域,並可以開始一個接一個地激活插件以隔離有問題的插件。

步驟 #7 – 恢復站點備份

如果似乎沒有任何效果,您可能需要考慮恢復站點的備份。 顯然,最好為當前文件創建一個備份(即使這看起來不合理),以防備份出現問題。

Servebolt 每天為其客戶執行所有文件和數據庫的備份。 您只需通過網站聊天聯繫 Servebolt,即可恢復您網站的備份。 該團隊將免費恢復您的備份。

備份最多可存儲 30 天,過去 14 天每天存儲一個備份,在此之前每周存儲幾個備份。

調試選項:檢查主題問題

WordPress 主題

在某些情況下,您在網站上使用的主題也可能導致白屏死機。 它可能與插件衝突,或者某些文件在更新期間可能已損壞。 您可能需要檢查錯誤或更換主題以檢查是否可以解決問題。 作為最後的手段,一個好的臨時解決方案可以是在繼續調試時切換到默認的 WordPress 主題。

如果我無法訪問管理儀表板怎麼辦?

如果您在嘗試訪問管理儀表板時遇到白屏死機,則顯然無法以相同的方式更改主題。

相反,您可以使用 SFTP 訪問網站的文件。

訪問該站點後,只需:

  1. 找到 webroot 文件夾,然後導航到 wp-content 目錄。
  2. 從那裡,搜索名為“主題”的文件夾。 在裡面查找您的活動主題的名稱。
  3. 然後,只需在主題的目錄名稱後添加後綴“_old”,並保存更改。 WordPress 將禁用主題(如果您安裝了默認主題,則默認切換到該主題)。
  4. 嘗試再次訪問您的網站。

如果您具有 SSH 訪問權限,則可以使用WP-CLI將主題更改為另一個主題

在此示例中,它被更改為主題 Twenty-Twenty-Two。

wp theme activate twentytwentytwo --skip-plugins --skip-themes

注意:此命令在進行此更改時會跳過初始化插件和主題。

如果您的站點恢復正常,您就會知道問題是由您的 WordPress 主題引起的。 在這一點上,肯定是時候將此報告給您的主題開發人員,以便他們能夠進行修復 - 如果主題仍在積極維護。 如果不是,那麼通常建議切換到另一個 WordPress 主題。

行動後報告 - 聯繫您的託管支持以採取預防措施

雖然錯誤的名稱確實讓它看起來更嚴重,但當您看到的只是白屏時讓您的 WordPress 網站恢復運行通常是一個簡單的錯誤修復。 如果您仍在努力解決這個問題,下一步就是聯繫您的WordPress 託管提供商的支持團隊——如果您明智地決定與我們一起託管您的網站,只需登錄您的 Servebolt 帳戶並與我們,以便我們可以幫助您一起查明真相。

尚未使用 Servebolt,但對根據經驗更快的託管託管感興趣?

今天在 Servebolt 上試用 WordPress:

    • 可擴展性:在真實用戶工作負載測試中,Servebolt 的平均響應時間為 65 毫秒,比第二名快 4.9 倍。
    • 最快的全球加載時間:全球平均頁面加載時間為 1.26 秒,使 Servebolt 在全球 WebPageTest 結果列表中名列前茅
  • 最快的計算速度: Servebolt服務器提供聞所未聞的數據庫速度,每秒處理的查詢數是平均水平的2.44倍,運行PHP的速度是第二名的2.6倍!
  • 完美的安全性和正常運行時間:所有監視器的正常運行時間均為 100%,並且我們的 SSL 實施獲得 A+ 評級,您可以放心您的網站在線且安全。

全部由我們的專家團隊提供支持,並準備好今天免費試用 Bolt