如何修復 WordPress 白屏死機

已發表: 2019-08-31

沒有什麼比加載您的網站並看到一個空白的白屏更糟糕的了。 沒有錯誤信息,沒有明確的問題,只是白屏死機。

這是最常見的 WordPress 錯誤之一。 最糟糕的部分? 這個問題不僅會使訪問者無法訪問您的 WordPress 網站,管理員也無法訪問。


什麼是死亡白屏?

當網站的 PHP 或數據庫中發生錯誤時,會出現白屏死機 (WSoD)。 WSoD 也可能顯示為一條消息,“此頁面無法正常工作,無法處理請求”或“站點遇到技術問題”。 這稱為 HTTP 500 錯誤。


幸運的是,死亡的白屏可以修復! 解決 WordPress 站點上的 HTTP 500 錯誤的第一步是確定您是否有權訪問 wp-admin。 嘗試轉到您的登錄頁面並登錄。如果網站的前端已關閉,但管理員正在工作,則很有可能是由於主題或插件有問題。

如果您網站上的腳本耗盡了內存限制,它也可能導致 HTTP 500 錯誤。 由於死機的白屏有不同的原因,因此有多種修復方法。

本文將教你如何修復死機白屏:

  • 使用 WordPress 調試工具
  • 禁用主題和插件
  • 使用您網站的備份
  • 增加網站的內存
  • 解決語法錯誤
  • 識別文件權限問題
  • 完成 WordPress 更新


使用 WordPress 調試工具

WordPress 帶有特定的調試系統,旨在簡化流程以及跨核心、插件和主題標準化代碼。 將調試視為路線圖,以查看錯誤來自何處以及根本原因是什麼。

要了解如何通過WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY, SCRIPT_DEBUG,SAVEQUERIES進行調試,請單擊此處。

雖然調試工具不一定能解決您的問題,但它們可以幫助您指明正確的方向。 這就是為什麼在對白屏死機進行故障排除時採取良好的第一步,這樣您就不會花費任何額外的時間來嘗試解決錯誤的問題。

如果您不確定在啟用 WP_DEBUG 後看到的任何錯誤,請聯繫我們並附上您正在處理的錯誤消息和站點。 我們很樂意提供幫助!


如何通過禁用 WordPress 主題和插件來修復白屏死機

很多時候,WordPress 站點出現故障是因為存在插件衝突或服務器上運行的 PHP 版本不支持插件。 想想過去 24 小時:網站上是否安裝了任何新主題或插件? 禁用最近下載的插件或切換主題是最好的開始。

如果您有權訪問 wp-admin…

登錄並禁用您認為可能導致問題的插件或主題。 停用後,請在您的網站上進行硬刷新。 如果它加載,你已經找到了罪魁禍首! 如果您仍然看到白屏死機,您有兩個選擇:您可以禁用不同的主題或插件,或者您的 HTTP 500 錯誤背後可能有不同的原因。

如果您無權訪問 wp-admin…

仍然可以通過 SFTP 禁用您的主題和插件。 連接到您的網站,然後導航到 wp-content 文件夾。 在這裡您可以找到您網站的所有主題和插件文件。 通過重命名文件,您可以停用站點上的主題或插件。 進行更改後,請在您的網站上進行硬刷新。 如果它加載,則意味著您找到了正確的插件! (現在應該能夠再次登錄 wp-admin)。 如果您仍然看到白屏死機,您的手上可能會遇到不同的問題。

專業提示:有時問題不是單個插件或主題,而是它們如何相互交互。 要排除這種情況,您可能需要禁用所有主題和插件,然後一次重新安裝一個。 我們的解決插件衝突的分步指南可以幫助解決這個問題。

除了衝突之外,過時的 WordPress 插件有時會導致 HTTP 500 錯誤。 如果您一直在推遲更新,我建議您運行這些更新以確保您的插件和主題處於最佳狀態!


如何通過使用站點的備份來修復死機白屏

如果您很快發現 WSoD,擺脫它的最簡單方法之一就是在錯誤發生之前將您的站點回滾到最近的備份。 此過程可以幫助您查明錯誤何時開始,因此更容易確定發生了什麼變化並可能導致 HTTP 500 錯誤。

即使您不親自備份您的網站,大多數託管 WordPress 託管服務提供商也會自動運行您網站的備份並提供恢復過程。 如果您的站點託管在 Flywheel 上,我們每晚都會對您的站點進行備份並存儲最後 30 個站點。您可以從 Flywheel 儀表板自行快速輕鬆地恢復備份。 如果您的網站由其他提供商託管,請嘗試與他們聯繫以請求恢復。

一旦您回滾了您的網站,請不要忘記首先嘗試找出導致錯誤的原因。 它是網站上的新插件嗎? 沒有正確完成的更新? 雖然通過備份擺脫白屏死機很好(因為這意味著您的網站已備份!),但請記住採取下一步確定原因是什麼,這樣您就不會重複相同的情況。


如何通過增加站點的內存來修復死機白屏

有時會導致 HTTP 500 錯誤,因為您的站點已用盡其分配的內存。 如果您收到“允許的 xxxxxx 字節的內存大小已用盡”的錯誤消息,則表明您需要進入並增加內存。

注意:大多數託管 WordPress 主機會為您處理此問題,因為它是服務器級設置。 如果您的站點託管在 Flywheel 上,只需向我們的支持團隊發送一條消息,告知您需要增加站點的內存,我們會對其進行修補。

對此的手動解決方案是為應用程序分配更多的 PHP 內存。 這可以通過許多安裝的 wp-config.php 文件來完成; 只需將以下代碼添加到文件中:

將 PHP 內存增加到 64MB:

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

要將 PHP 內存增加到 96MB:

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

注意:出於安全原因,Flywheel 會鎖定您的 wp-config.php 文件,並且不允許直接對其進行更改。 我們這樣做是因為它是由我們的軟件自動生成的,而且您想做的大部分事情都會自動為您配置好。

在使用此功能之前,WordPress 會自動檢查 PHP 分配的內存是否少於輸入的值。 例如,如果 PHP 已分配 64MB,則無需將此值設置為 64M,因為 WordPress 會在需要時自動使用所有 64MB。


如何通過解決語法錯誤來修復死機白屏

語法錯誤通常是由代碼語法錯誤引起的。 您可能不小心輸入了錯誤的語法或粘貼了錯誤的語法,這導致了 WSoD。

解決語法錯誤的最簡單方法是將您的站點回滾到白屏死機之前的版本。 這會將您的站點推回並將其恢復到發生錯誤之前的最後一次備份,而不必跳入並編輯代碼。

解決語法錯誤的另一種方法是編輯語法錯誤中提到的文件。 通常,語法錯誤將引用文件以及發現錯誤的代碼行。

要編輯受影響的文件,您可以採用兩種不同的方法:

  1. 根據您的服務器設置,通過 FTP 或 SFTP 下載受影響的文件
  2. 使用您的網絡主機提供的工具直接在服務器上編輯文件

FTP 客戶端是一個應用程序,可幫助您連接到您的網站並使用 FTP 協議傳輸文件。 一些免費的解決方案包括 Filezilla 和 Cyber​​duck。 下載受影響的文件後,請嘗試根據文本編輯器(例如 Sublime)中的行代碼確定錯誤來源。 一旦您認為您已經糾正了語法錯誤,請通過 FTP 將文件上傳回您的服務器。 硬刷新您的網站以查看您的網站是否恢復正常狀態。

如果您的網絡主機提供了一種工具,可以通過在線文件管理工具直接在服務器上編輯文件,則可以使用第二個選項。 如果他們提供這種性質的工具,您可以登錄,找到文件,進行必要的更改,然後保存。

專業提示:您可以通過在本地環境而不是您的實時站點中進行站點更新來避免由語法錯誤導致的白屏死機。 Local 是專門針對 WordPress 網站的免費解決方案,可以輕鬆提取網站副本以進行離線編輯並將更改實時推送到生產環境。


如何通過識別文件權限問題來修復死機白屏

文件和文件夾權限不正確可能會導致您的 WordPress 網站在上傳過程中出現錯誤,從而導致白屏死機。

為什麼? 因為文件和文件夾權限告訴服務器誰可以讀取、運行或修改您帳戶上託管的文件。 通常,WordPress 會警告您它無法編輯文件、創建文件夾或寫入磁盤。 但是,有時您可能看不到錯誤消息。

要檢查您的站點具有哪些文件和文件夾權限,請通過 FTP 連接到您的站點。 連接後,轉到 WordPress 站點的根文件夾。

從那裡,選擇根目錄中的所有文件夾,然後右鍵單擊以選擇“文件權限”。 一個新的盒子應該彈出一個數值。 推薦值為“755”,因此如果您看到不同的內容,請繼續更改它。 單擊“遞歸到子目錄”複選框,然後選擇“僅應用於目錄”選項。 點擊“確定”。 您的 FTP 客戶端將開始設置文件夾和子文件夾的文件權限,因此請等待幾分鐘完成。

接下來,選擇 WordPress 站點根文件夾中的所有文件和文件夾,然後右鍵單擊以選擇“文件權限”。 這一次,文件權限框中的數值應該是“644”。 如果不同,請輸入新值,單擊“Recurse into subdirectories”複選框,然後選擇“Apply to files only”選項。 單擊“確定”繼續。

現在,您的 FTP 客戶端將開始為您的 WordPress 站點上的所有文件設置文件權限。 給這幾分鐘完成,然後硬刷新。


如何通過完成 WordPress 更新來修復白屏死機

有時 WordPress 會遇到更新問題。 大多數情況下,它會自行解決,但偶爾會導致白屏死機。

有兩種方法可以完成 WordPress 更新:

  1. 刪除 .maintenance 文件
  2. 手動更新

第一步是進入您的 WordPress 根目錄,查看是否有 .maintenance 文件。 名稱以點開頭,表示它是一個隱藏文件。 如果您使用 FTP 程序沒有看到它,請嘗試登錄服務器的控制面板並使用文件管理器查找並刪除它。 刪除該文件後,再次加載您的網站。 如果更新成功,而 WordPress 只是未能自動刪除該文件,您的網站將正常加載。

如果您仍然看到問題,則可能是更新不成功。 在這種情況下,您可能需要手動運行更新。 本指南可以幫助您做到這一點。


概括

白屏死機可能是由許多問題引起的。 雖然讓您的網站盡快​​恢復並運行很重要,但請記住,了解問題及其發生的原因可以防止將來出現 HTTP 500 錯誤。 通過這些步驟,您將能夠讓您的網站在短時間內恢復正常運行!


使用本地進行離線編輯

嘗試在實時站點上進行編輯是可怕的,我們通常不推薦這樣做。 它可能導致站點損壞或更糟糕的是,白屏死機。 這就是我們擁有 Local 的原因,我們的本地開發工具深受全世界開發人員的喜愛!

除了輕鬆下拉實時站點以進行離線編輯之外,您還可以通過幾次快速單擊來實時推送本地站點,同步您的工具以簡化流程等等! 免費下載本地並避免那些 WSoD! 自己試試吧!