修復 WordPress 白屏死機 (WSoD) 的 9 種行之有效的方法

已發表: 2020-06-17

沒有什麼比瀏覽您的 WordPress 網站並突然遇到死機白屏 (WSoD) 更糟糕的了。 此錯誤使管理員和訪問者都無法訪問您的網站。

由於缺乏指向可能原因或解決方案的信息,WSoD 也可能令人難以置信地令人沮喪。 但是,它也是最常見的 WordPress 錯誤之一。 因此,儘管令人擔憂,但在大多數情況下,它是可以解決的。

在這篇文章中,我們將解釋 WordPress WSoD 是什麼以及它的常見原因是什麼。 最重要的是,我們將向您介紹九種可能的解決方案,以盡可能快地恢復和運行您的網站。

讓我們開始吧!

喜歡看視頻版?

什麼是 WordPress 死機白屏?

正如它的名字一樣,WordPress 白屏死機(也稱為“WSoD”)發生在您嘗試訪問的不是網頁,而是一個空白的白屏時。

根據您使用的瀏覽器,您可能會收到不同的錯誤消息。 以下是 Google Chrome 中的示例,其中包含 HTTP 500 錯誤警告“此頁面無法正常工作並且無法處理請求”:

wordpress wsod 鉻
Google Chrome 中的 WordPress 白屏死機

現在讓我們看一下 Mozilla Firefox 中的死機白屏:

wordpress wsod 火狐
Mozilla Firefox 中的 WordPress WSoD

如您所見,它只是一個純白色的屏幕。 它不包含任何有用的錯誤或警告消息。

WordPress 死機白屏幾乎總是由 PHP 代碼錯誤或內存限制耗盡引起的。

另一個可能的原因是主題或插件錯誤。 如果網站的前端已關閉,但您的 WordPress 管理區域已啟動,則後者可能是問題所在。 要快速檢查您網站上的儀表板是否正常工作,只需導航到 yourdomain.com/wp-admin。

那麼,如何修復 WSoD? 很高興你問!

WordPress 死機白屏令人沮喪,令人困惑,但最終是可以修復的! 這裡有 9 個簡單的解決方案供您嘗試點擊推文

如何修復 WordPress 白屏死機(9 種方法)

當您遇到 WordPress 白屏死機時,您的首要任務是盡快修復它。 考慮到這一點,讓我們看一下可以用來解決它的九種可能的解決方案。

1.禁用你的WordPress插件

修復 WordPress WSoD 的最簡單和最常見的方法之一是簡單地禁用所有插件。 通常,由於插件更新錯誤,網站會出現故障。

如果您仍然可以訪問您的管理區域,一個快速的方法是從儀表板導航到插件,選擇所有插件,然後從批量操作下拉菜單中單擊停用

WSOD:停用所有 WordPress 插件設置
停用所有 WordPress 插件設置

這將禁用所有插件。

如果這樣可以解決問題,您將需要找到罪魁禍首。 為此,您可以開始一一激活插件,每次激活後重新加載站點。 當您的前端出現故障時,您就發現了行為不端的插件。

然後,您可以聯繫插件的開發人員尋求幫助或在 WordPress 插件目錄中發布支持票。

如果您無法登錄 WordPress 管理員,您可以使用文件傳輸協議 (FTP) 客戶端訪問您網站的文件目錄。

在根目錄的wp-content文件夾下,找到plugins文件夾。 將其重命名為“plugins_old”:

WSoD:重命名您的插件文件夾
重命名插件文件夾

然後,在前端再次檢查您的網站。 如果這可行,您將需要一個一個地測試每個插件。 將您的插件文件夾重命名為“plugins” 然後單獨重命名其中的每個插件文件夾,直到找到錯誤的文件夾。

2. 切換到默認的 WordPress 主題

如果問題不是插件,您的 WordPress 主題可能是導致白屏死機的原因。 要查看這是否是問題所在,您可以通過切換到默認主題來替換您的主題。

如果您可以訪問您的管理區域,請轉到儀表板中的外觀 > 主題。 找到並激活默認的 WordPress 主題,例如二十二十:

WSOD:切換到默認主題
二十二十個 WordPress 主題。

然後,再次測試您的網站。 如果它有效,您就會知道問題出在您的主題上。

如果您無法訪問儀表板,則該過程與使用插件的過程相同。

使用 FTP 訪問您網站的文件,並將您的wp-content/themes文件夾重命名為其他名稱:

WSoD:主題文件夾
重命名您的主題文件夾

然後 WordPress 將恢復到最新的默認主題,很可能是二十二十。 如果您沒有任何其他主題,您可以從 WordPress 主題目錄下載一個,然後將其上傳到您的主題文件夾。

之後,繼續並再次檢查您的網站。 如果它有效,則您的主題可能存在衝突或更新錯誤。 如果是這種情況,您可能需要聯繫開發人員尋求幫助或考慮切換主題。

3.清除瀏覽器和WordPress插件緩存

如果您可以訪問 WordPress 網站的後端,但仍然在前端看到 WSoD,則可能是由於您的緩存存在問題。

要修復它,請嘗試清除 Web 瀏覽器的緩存和 WordPress 緩存插件(假設您安裝了一個)。

如果您在 WordPress 網站上安裝了緩存插件,例如 WP Rocket 或 WP Super Cache,大多數都提供了一種通過插件設置頁面清除緩存的快速方法。

以 WP Super Cache 為例,在您的 WordPress 儀表板中,您將導航到Settings > WP Super Cache > Delete Cache

刪除插件緩存
WP Super Cache 插件設置頁面

如何從 MyKinsta 清除緩存

如果您是 Kinsta 用戶,您還可以使用 MyKinsta 輕鬆清除緩存。 為此,請登錄您的帳戶。 單擊工具,然後單擊站點緩存部分下的清除緩存

kinsta 網站緩存
MyKinsta 中的清除緩存選項

清空緩存後,保存更改。 然後重新訪問您的網站,看看是否解決了問題。 如果沒有,是時候轉向另一個解決方案了。

4. 開啟調試模式

如果您仍然看到 WordPress 白屏死機,管理區域無法正常工作,或者您認為您已經找到了問題但想深入挖掘,您可以啟用調試模式。 這將顯示您網站上發生的任何錯誤。

要啟用調試,您需要打開 WordPress 安裝的wp-config.php文件。 在其中您應該找到以下行:

 define( 'WP_DEBUG', false );

將“false”更改為“true”,然後重新加載您的網站。 如果此行不存在,您可以將其添加到文件的頂部。

您將看到白屏和一些錯誤消息,而不是白屏。 這不是一個巨大的改進,但這只是一個開始。 WSoD 錯誤消息應說明問題源自哪個文件,如下所示:

 Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1874) in /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38

您可以在此示例消息的末尾看到問題出在名為my-test-plugin的插件的第 38 行。 因此,禁用該插件應該可以解決問題。

如果您在啟用調試模式後根本沒有看到任何錯誤,您可能需要聯繫您的虛擬主機。 您的服務器上可能未正確配置調試。

Kinsta 客戶可以選擇使用內置調試工具。 在 MyKinsta 儀表板中,單擊您網站的名稱,然後單擊工具。 在WordPress 調試下,選擇啟用

kinsta調試工具
如何在 MyKinsta 中啟用 WordPress 調試模式

然後,您可以在 MyKinsta 儀表板的“日誌”部分下訪問錯誤日誌,並瀏覽它們以了解有關該問題的更多信息。

請記住,打開調試模式可能會將您網站的某些信息暴露給未經批准的用戶。 因此,請確保在完成使用後始終關閉該模式。

5. 增加你的內存限制

如果您在嘗試上述一些解決方案後仍然看到可怕的 WSoD 空白頁面,或者您收到抱怨內存限製或內存耗盡的錯誤,您需要為應用程序分配更多內存。

這可以通過許多 WordPress 安裝上的wp-config.php文件來完成。 打開文件並添加以下代碼:

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

如果這似乎不起作用,您有幾個選擇。 在常規環境中,您可以使用.htaccess文件來增加內存限制。 只需添加以下行:

 php_value memory_limit 64M

如果您無法訪問.htaccess文件,則可以使用php.ini文件來增加內存限制。

因停機時間和 WordPress 問題而苦苦掙扎? Kinsta 是在設計時考慮到性能和安全性的託管解決方案! 查看我們的計劃

為此,請通過 FTP 連接到您的服務器。 在站點的根目錄中,查找php.ini文件。 找到它後,在文件中的任意位置添加以下行:

 memory_limit = 64M

如果您仍然內存不足並需要分配更多內存,則您的應用程序中可能存在問題。 也許您的主題或您的一個插件正在使用過多的資源。

此時,您可能需要聘請開發人員來看看。 通過向您顯示您站點的 SQL 日誌和其他資源統計信息,甚至您的主機也可以提供幫助。

6.檢查文件權限問題

WSoD 的另一個潛在原因是權限和所有權問題。 可以自己解決這個問題。 但是,除非您真的知道自己在做什麼,否則我們建議您不要這樣做,因為您可能會無意中創建攻擊者可以利用的漏洞。

當談到 WordPress 權限時,需要遵循三個簡單的規則:

  • 文件應設置為 664 或 644。
  • 文件夾應設置為 775 或 755。
  • wp-config.php文件應設置為 660、600 或 644。

如果您對服務器具有 SSH 訪問權限,則可以使用以下命令應用適當的規則,從 WordPress 根目錄運行它:

 sudo find . -type f -exec chmod 664 {} + sudo find . -type d -exec chmod 775 {} + sudo chmod 660 wp-config.php

如果您不確定如何執行此操作或有點害怕,請繼續向您的網絡主機尋求幫助。

7. 檢查失敗的自動更新問題

有時 WordPress 會遇到更新問題,例如服務器超時。 通常,此問題會自動解決。 但是,在極少數情況下,它可能會導致 WordPress 白屏死機。

你應該做的第一件事是進入你的 WordPress 根目錄,看看那裡是否有一個.maintenance文件(文件名也可能是縮寫的)。

您想要做的是嘗試刪除該文件並再次加載您的網站。

如果更新成功,但 WordPress 未能自動刪除此文件,則一切應恢復正常。

如果更新沒有完成,它可能會自動重新啟動,在這種情況下,事情應該會恢復正常。

如果一切都失敗了,請遵循推薦的 WordPress 手動更新程序,這應該可以一勞永逸地解決問題。

8. 解決語法錯誤或恢復備份

WordPress WSoD 的另一個常見原因是當您在 WordPress 網站上編輯代碼時不小心輸入錯誤或使用了錯誤的語法。

錯誤位置的一個角色可能會導致您的整個網站癱瘓,這就是為什麼您永遠不應該在實時生產網站上編輯代碼的原因。

不過不用擔心。 您始終可以通過 FTP 連接到您的站點並恢復您手動所做的更改。 如果您不知道是什麼更改導致了問題,這就是讓 WordPress 備份到位的地方。

在 Kinsta,您只需單擊一下即可將您的網站恢復到較早的時間點。 為此,請登錄您的 MyKinsta 儀表板並導航到Backups

MyKinsta 中的備份功能
MyKinsta 中的備份功能

請記住,如果您之前在 WordPress 中啟用了調試模式,則可能還會出現指示解析語法錯誤的錯誤消息。 如果是這種情況,它應該會告訴您在哪裡可以找到問題代碼。

9.增加PHP文本處理能力

此時,如果 WSoD 尚未解決,您可以嘗試另一種技巧。 在極少數情況下,由於頁面或帖子特別長,可能會出現此問題。

如果是這種情況,您可以嘗試通過增加回溯和遞歸限制來調整您網站上的 PHP 文本處理能力。 為此,請將以下代碼粘貼到您的wp-config.php文件中:

 /* Trick for long posts / ini_set('pcre.recursion_limit',20000000); ini_set('pcre.backtrack_limit',10000000);

添加此代碼後,保存更改。 然後刷新您的網站以查看它現在是否正常工作。

面對可怕的 WordPress 白屏死機? 不用擔心...這 9 個修復程序將使您的網站立即恢復運行! 點擊推文

概括

WordPress 死機白屏可能令人難以置信的令人沮喪,甚至令人恐懼。 有很多事情可能會出錯,但幸運的是情況通常沒有看起來那麼糟糕。

在大多數情況下,一個簡單的插件和/或主題檢查應該可以解決 WSoD 問題。 更加熟悉 WordPress 調試模式肯定會更清楚地解決問題並為您提供指導。

如果您遇到任何其他 WordPress 白屏死機情況,請告訴我們,以便我們從中學習並分享經驗!