如何修復 WordPress 白屏死機 (WSoD)
已發表: 2021-08-21您是否剛剛遇到可怕的白屏死機並且不知道該怎麼辦? 別擔心。 有很多解決方案。 在本文中,我們將展示修復 WordPress 白屏死機 (WSoD) 的不同方法!
什麼是 WordPress 死機白屏 (WSoD)?
白屏死機 (WSoD) 是管理員最糟糕的噩夢之一。 顧名思義,WSoD 是出現在 WordPress 網站上的全白屏幕。 在某些情況下,白屏僅出現在某些頁面上,而不會出現在其他頁面上,而在其他情況下,它會出現在整個站點中,包括 wp-admin。
這是最常見的 WordPress 錯誤之一,也可能是最令人沮喪的錯誤,因為它沒有提供任何有關其原因的信息。 因此,故障排除是一項艱鉅的任務。
如果空白屏幕沒有為您提供有關錯誤的任何信息,我們如何知道白屏死機的原因可能是什麼? 讓我們展開常見的原因。
什麼可能導致WordPress中的白屏死機?
WordPress 白屏死機最糟糕的事情之一是它很常見。 即使它沒有給你任何可能導致它的線索,但通常有幾件事是造成它的原因。 請記住,並非所有這些都必須同時發生才能觸發 WSoD。 如果只有一件事出了問題,您面前可能會出現白屏。
WordPress白屏死機的一些可能原因是:
- 插件和主題衝突:插件的更新可能會在插件和您的主題之間產生衝突。 相反,有時主題更新與其中一個插件衝突。 這兩種情況都可能導致網站無響應和可怕的白屏。
- PHP : 將腳本添加到functions.php文件時,編寫不佳的代碼或輕微錯誤可能會損壞主題文件或使其無響應。 這就是為什麼在編輯任何核心文件之前,您應該始終創建站點的完整備份。
- 集成:WordPress 集成之間的衝突,例如內容交付網絡 (CDN)、SSL 證書等。
- 損壞或丟失 WordPress 文件:損壞或丟失核心 WordPress 文件,如wp-config、.htaccess等。 有錯誤或寫得不好的代碼可能會損壞這些文件並導致 WSoD。
- 內存限制:超過服務器內存限製或最大執行時間的 PHP 請求。 這意味著服務器沒有足夠的內存來處理請求,或者請求響應時間過長以至於超過了允許的最大執行時間。
- 服務器:有時問題不是來自您的一端,而是來自主機端的服務器。 在這種情況下,錯誤必須由託管服務提供商解決。
如前所述,並非所有這些原因都必須同時發生才能觸發白屏。 一個原因就足以導致您的網站無響應。 這就是為什麼您應該首先確定導致白屏的原因。
在下一節中,我們針對每種原因匯總了所有可能的解決方案,因此您可以立即解決 WordPress 白屏死機。
如何修復 WordPress 死機白屏
修復死機白屏可能是一項艱鉅的任務。 但是,如果您有條理且有耐心,您將能夠啟動並運行您的網站。
這些是您可以採取的步驟來消除不需要的白屏:
- 清除瀏覽器緩存和 cookie
- 清除 WordPress 緩存
- 在 WSoD 之前檢查您的步驟
- 進入恢復模式
- 停用所有插件
- 更改為默認主題
- 檢查您的 WordPress 集成
- 啟用調試模式
- 修復損壞的核心文件
- 調整服務器的內存限製或最大執行時間
- 聯繫您的主機
讓我們仔細看看它們中的每一個。
1. 清除瀏覽器緩存和 Cookie
修復 WSoD 應該做的第一件事是檢查問題是否來自瀏覽器。 為此,應清除瀏覽器的緩存和 cookie。
不同的瀏覽器有不同的方式來清除緩存的數據和 cookie。 例如,在 Chrome 中,您需要點擊右上角的三個點圖標,轉到更多工具 > 清除瀏覽數據。
將出現一個帶有清晰瀏覽數據彈出窗口的新頁面。 您可以在此處選擇要刪除的數據。 現在,檢查緩存的圖像和文件以及時間範圍設置為所有時間的 Cookie,然後按清除數據。 這將清除所有瀏覽器緩存和 cookie。
如果問題出在您的瀏覽器上,這將解決您的問題,您將能夠訪問您的網站。 但是,如果這不起作用,則問題出在您的網站上。 在這種情況下,請繼續下一步。
2.清除WordPress緩存
修復白屏死機的另一個解決方案是清除 WordPress 緩存。 為此,您必須有權訪問您的WP Admin Dashboard。
注意:在某些情況下,白屏死機也會影響管理頁面,因此您被鎖定並且無法訪問您的站點。 如果是這種情況,此解決方案將無用,因此您可以繼續下一個解決方案。
對於那些有權訪問其WP Admin Dashboard 的人,您可以繼續清除 WordPress 緩存。 默認情況下,WordPress 無法刪除緩存數據,因此您需要使用插件。 在本教程中,我們將使用WP Rocket 。
首先,安裝並激活插件。 之後,轉到您的Admin Dashboard ,導航到Settings > WP Rocket ,然後單擊Dashboard部分下的Clear cache按鈕。 而已! 現在將刪除所有緩存的數據。
現在,由於您已清除 WordPress 緩存數據,請檢查問題是否仍然存在。 如果是這樣,請繼續下一步。
3. 複習 WSoD 之前的步驟
事先檢查您的步驟可以幫助您解決和修復 WordPress 白屏死機。 複製您在 WSoD 出現之前所做的事情可能會導致您遇到確切的問題,或者至少給您提示首先導致錯誤的原因。
你需要做的是回顧並回憶你或你的任何隊友在白屏出現之前所做的事情。 不幸的是,這一步我們無法為您提供太多幫助,這完全取決於您來定位錯誤。
但是,我們希望您在反思自己的行為時觀察一些事情。
- 首先,試著回憶一下你或你的隊友在死機白屏出現之前正在做什麼
- 您是否安裝了任何新的插件或主題或修改了任何預先存在的插件或主題?
- 您是否更新了 WordPress、您的任何插件或您的主題?
- 您是否對數據庫或任何核心文件進行了任何更改?
- 任何與 WordPress 的新第三方集成?
- 在此期間,您的團隊中是否有人訪問過 WordPress? 他們在做什麼?
這些只是供您參考的幾個問題,以幫助您記住遇到死機白屏之前的所有行為。 這可以讓您更好地了解導致問題的原因,並幫助您應用潛在的修復程序來恢復您的站點。
但是,有可能在白屏出現附近的任何時候都沒有人在使用 WordPress。 在這種情況下,收回您的步驟可能不是一個可行的解決方案,您將不得不繼續進行修復。
4.進入恢復模式
WordPress 5.2 的主要新聞之一是致命錯誤保護功能,因此您可能會看到一條消息,而不是沒有信息的白屏,而是顯示“該站點遇到技術問題。 請檢查您的站點管理員電子郵件收件箱以獲取說明。”
如果是這種情況,您應該檢查您的管理員收件箱,看看是否有來自 WordPress 的電子郵件。 該電子郵件包含有關錯誤的詳細信息和激活恢復模式的鏈接。 使用該鏈接並在恢復模式下訪問您的WordPress 管理儀表板。 借助電子郵件中共享的錯誤詳細信息,您可以相應地應用潛在的修復。
不過,如果這對您不起作用,或者您沒有收到來自 WordPress 的任何電子郵件,請繼續執行下一步。
5. 停用所有插件
與插件的衝突是 WordPress 中白屏死機的最常見原因之一。 如果您最近安裝了新插件或更新了現有插件,則尤其如此。
要檢查您的插件是否導致問題,您需要停用所有插件。 有多種方法可以批量停用所有插件。
如果您有權訪問管理儀表板,請轉到Plugins > Installed Plugins ,選擇所有這些,然後將批量操作設置為Deactivate 。 然後,按應用按鈕停用所有插件。
相反,如果您無權訪問管理儀表板,則需要通過 cPanel 或 FileZilla 等 FTP 客戶端訪問您的站點目錄。 進入站點目錄後,在wp-content文件夾下,您會找到另一個名為plugins的文件夾。 將文件夾重命名為插件以外的任何內容以停用所有插件。
停用所有插件後,轉到您的站點並查看白屏是否消失。 如果是這樣,那就開始一個一個地激活每個插件,直到再次遇到白屏找到觸發死機白屏的插件。
有關如何批量停用所有插件的更多信息,請查看此分步指南。
確定有問題的插件後,您可以將插件回滾到以前的版本或聯繫他們的客戶支持。 或者,您可以尋找其他類似的工具來實現相同的功能。
但是,如果停用插件不能修復 WordPress 白屏死機,您需要繼續尋找原因。
6.更改為默認主題
如果停用插件不能解決 WSoD,那麼您應該檢查的下一件事是您的主題。 要檢查問題是否出在主題上,請將其替換為默認主題。 如果這解決了問題,那麼您就知道您的主題位於死機白屏之後。
要將您的主題替換為默認主題,您需要通過主機 cPanel 或 FTP 客戶端訪問您的站點目錄。 進入目錄後,找到wp-content文件夾,您將看到一個名為Themes的文件夾。 此文件夾包含您下載的所有主題。
在主題文件夾中,找到您當前活動的主題。 以防萬一,如果您還沒有這樣做,我們建議您進行備份。 之後,選擇您的活動主題並將其刪除。 這會將您的網站更改為默認的 WordPress 主題(例如二十一二十一)。
如果您沒有任何默認主題或之前已將其刪除,則需要手動將默認主題文件上傳到您的站點目錄。
切換到默認主題後,訪問您的網站並查看它是否解決了問題。 如果您沒有看到白屏死機,那麼您已經確認是您的主題導致了問題。 在這種情況下,如果您最近更新過主題,您可以將主題回滾到以前的版本。 此外,檢查functions.php文件末尾是否有任何編程錯誤或空格。 這很可能會解決您的問題。 但是,如果沒有,請聯繫主題開發人員以獲得技術支持。
不過,如果切換到默認主題後白屏沒有消失,那麼問題就出在其他地方,您必須繼續挖掘。
7. 檢查您的 WordPress 集成
除了插件和主題之外,其他第三方工具也可以與您的 WordPress 網站集成。 這些示例可以是 SSL 證書或內容交付網絡 (CDN),例如 Amazon Cloud Front。
重要的是要知道任何第三方集成之間的衝突都可能導致出現死機白屏。 例如,Amazon CDN 與您的主機提供的 SSL 證書之間的衝突可能會導致您的站點停機。
要確定問題是否與任何 WordPress 集成有關,您需要回憶在白屏出現之前執行的活動。 您應該問自己的一些事情是:您是否將任何新服務與您的站點連接? 您是否修改了已配置服務的設置? 等等。
如果您已經做了任何這些事情,您需要撤消這些更改,如果這解決了您的問題,那麼您已經成功地確定了根本原因。 如果其中一些服務出現故障,那麼您可能需要找到該服務的替代方案或聯繫服務提供商尋求解決方案。
但是,如果您的集成工作正常並且您仍然無法修復 WordPress 中的白屏死機,請繼續下一步。
8.啟用調試模式
如果到目前為止對您沒有任何幫助,您可能需要啟用調試模式。 這將幫助您找到可能導致 WSoD 的潛在 PHP 錯誤。
調試模式將站點面臨的所有錯誤記錄到debug.log文件中。 有了這些信息,您可能會找到白屏死機的原因並採取糾正措施來解決問題。
要啟用調試模式,您需要訪問站點目錄。 您可以通過您的 cPanel 或使用 FileZilla 或任何其他 FTP 客戶端來執行此操作。 進入站點目錄後,查找wp-config.php文件並在文本編輯器中打開它。
之後,搜索以下行:
定義('WP_DEBUG',假)
並將其更改為:
定義('WP_DEBUG',真)
啟用調試模式。
如果wp-config.php文件中不存在上述代碼行,只需將其添加到文件中並保存即可。
現在,要將錯誤記錄到debug.log文件中,您需要啟用 WordPress 調試日誌記錄。 為此,將以下行添加到您的wp-config.php文件並保存它。
定義('WP_DEBUG_LOG',真);
這會將所有錯誤記錄到debug.log文件中。 您可以在wp-content目錄中找到debug.log文件。 日誌文件包含有關網站所面臨的所有錯誤的信息,因此通過這些信息,您可能能夠找到問題並採取糾正措施。
完成調試後,不要忘記關閉調試模式和調試日誌記錄。 為此,只需在兩個代碼片段中將true更改為false 。
希望調試模式能給您一些見解並幫助您擺脫死機白屏。 但是,如果您仍然無法解決問題,請嘗試以下解決方案。
9.修復損壞的核心文件
您最近是否在遇到白屏之前對核心 WordPress 文件(例如wp-config.php或 .htaccess)進行了任何更改? 如果是這樣,您需要將修改後的文件恢復到其原始版本以撤消最近的更改。 如果由於這些更改而出現白屏死機,那麼這種方法將解決問題。
要撤消最近的更改,您需要將 WordPress 的新副本下載到本地 PC。 只需訪問 wordpress.org 並按獲取 WordPress即可將最新版本的 WordPress 下載到您的計算機上。 下載完成後,解壓縮 zip 文件,找到需要交換的文件,然後復制它。
然後使用 FileZilla(或任何其他 FTP 客戶端)或您的 cPanel 轉到您的站點目錄,並用您剛剛複制的新文件替換您的當前文件。 現在回到您的網站,看看它是否能解決問題。 或者,如果您有一個沒有當前更改的站點的最新備份,您可以恢復它。
希望這能解決您的問題。 如果您仍然無法修復 WordPress 白屏死機,請繼續下一個解決方案。
10.調整服務器的內存限製或最大執行時間
如果到目前為止沒有任何效果,那麼您可以嘗試的最後一件事是調整服務器的內存限製或最大執行時間。 有時您的服務器沒有足夠的資源來處理傳入的請求,因此您的站點出現故障,並出現白屏死機。
要解決此問題,您可以手動增加服務器的內存限制和最大執行時間。 問題可能與其中之一有關,有時也可能與兩者有關。 首先,嘗試增加內存限制,如果這不起作用,您將增加最大執行時間。
要增加服務器的內存限制,請將一行代碼添加到wp-config.php、.htaccess或php.ini文件中的任何一個。 您需要編輯這些文件中的任何一個,所以讓我們從wp-config.php開始,看看它是否能解決問題。 如果沒有,您將繼續進行 . htaccess文件等。
- 將以下行添加到wp-config.php文件中:
定義('WP_MEMORY_LIMIT','128M');
- 為了 。 htaccess,添加以下行:
php_value memory_limit 128M
- 對於php.ini,添加以下內容:
memory_limit = 128M
上面的代碼行將內存限制設置為 128MB,應該適用於大多數站點。 但是,如果需要,您可以將其增加到 256MB 或 512MB。
如果增加內存限制不起作用,則需要增加服務器的最大執行時間。 為此,您必須編輯wp-config.php、 .htaccess或php.ini文件中的任何一個。
正如我們之前所見,您只需要編輯一個文件。 從wp-config.php 文件開始,如果這不起作用,請移至.htaccess,最後移至php.ini文件。
- 對於wp-config.php,添加以下行:
設置時間限制(120);
- 為了 。 htaccess ,添加:
php_value max_execution_time 120
- 對於php.ini,添加以下行:
max_execution_time = 120
如您所見,上述代碼行只是將最大執行時間設置為 120 秒。 但是,您可以進一步增加它,看看它是否能解決問題。
有時,託管服務提供商不允許用戶增加服務器的內存限製或最大執行時間。 如果這是您的情況,或者您只是覺得自己不方便,請聯繫您的服務提供商為您增加它。
有關這方面的更多信息,請查看我們的指南,了解如何增加 WordPress 的最大執行時間。
如果上述方法均無效並且您仍然無法修復 WordPress 白屏死機,您需要聯繫您的主機並尋求幫助。
11. 聯繫您的託管服務提供商
到目前為止,您已經完成了解決問題的所有可能步驟。 我們希望你們中的大多數人已經成功擺脫了白屏死機。
對於那些仍然面臨問題的人,不幸的是,您無能為力。 很可能,您沒有問題,問題出在您的託管服務提供商的某個地方,因此我們建議您聯繫他們並向他們解釋您的問題。
如果他們遇到任何問題,他們會通知您,如果問題僅影響您的網站,他們會提供技術支持。
防止 WordPress 白屏死機的提示
到目前為止,您可能已經明白一個小錯誤可能會破壞您的網站並觸發白屏死機。 這就是為什麼您在更改您的網站時應該非常小心的原因。
WSoD 很難排除故障,所以要不惜一切代價避免它。 您可以採取以下一些預防措施來避免可怕的白屏死機:
- 跟踪您和您的團隊成員在 WordPress 上的活動,即使只是插件更新。 它將幫助您在故障排除時檢查您的步驟,以防發生不好的事情。
- 定期備份並將它們存儲在安全的地方,以便以後訪問它們。 在您編輯核心文件或在您的網站上進行任何重大更改之前,這一點尤其重要。 如果您不確定如何創建備份,請查看此分步指南。
- 在將代碼發佈到 WordPress 之前,請始終在離線環境中測試您的代碼。 小錯誤會讓人頭疼,甚至缺少分號“;” 可以讓您的網站關閉。
- 密切關注您的 WordPress 環境中的更新。 WordPress、主題和插件的更新對於確保您的網站安全和正常運行非常重要。 但是,更新的一個小問題可能會破壞您的網站。
- 選擇合適的主機。 這似乎很明顯,但它會產生很大的不同,尤其是當您遇到麻煩並需要快速有效的支持時。 您網站的性能在很大程度上取決於託管服務,因此選擇提供出色性能和客戶支持的主機是關鍵。 如果您不確定要選擇哪個託管服務提供商,請查看這篇文章,我們會在其中回顧一些最佳服務提供商。
結論
總而言之,死機白屏是許多管理員面臨的一個惱人但又非常普遍的問題。 它可能因各種原因觸發,故障排除可能非常具有挑戰性,因為空白屏幕不提供有關錯誤的任何信息。 這就是為什麼您應該不惜一切代價嘗試通過定期備份、離線測試重要更改以及密切關注更新來避免這種情況。
但是,如果不幸的是,您遇到了 WSoD,請不要驚慌。 有多種潛在原因,因此您需要耐心等待並嘗試找到問題的根本原因。
在本指南中,我們分析了修復 WordPress 白屏死機的潛在原因和解決方案。 首先,嘗試清除我們的瀏覽器緩存和 cookie,並清除 WordPress 緩存。 如果這不起作用,請追溯您的步驟並嘗試複製您在白屏出現之前所做的事情。 如果問題仍然存在,請進入恢復模式。 然後,您可以嘗試停用我們所有的插件並切換到默認主題以及檢查其他集成。
如果這不能解決問題,請啟用調試模式以在您的站點上查找 PHP 錯誤並嘗試修復損壞的核心文件,並調整服務器的內存限製或最大執行時間。 最後,如果沒有任何效果,您應該聯繫您的託管服務提供商並尋求幫助。
我們希望這對您有用並幫助您修復 WordPress 白屏死機 (WSoD)。 你遇到過白屏嗎? 如果是這樣,你做了什麼來解決這個問題? 請在下面的評論中告訴我們。
最後,我們建議您還查看以下指南,以找到 WordPress 中其他常見問題的解決方案:
- WordPress更新失敗錯誤:如何修復它
- 如何修復您關注的鏈接已過期問題
- 學習修復 WordPress 中的 .htaccess 文件