如何修復 WordPress 死機白屏
已發表: 2022-06-16WordPress 通常是可用的最穩定的內容管理系統之一。 在開發人員和企業中廣受歡迎,據估計,44%-65% 的所有網站都建立在它之上。 儘管如此,有時也會出現問題。 可能發生的最令人費解和令人憤怒的錯誤之一是 WordPress 白屏死機 (WSoD)。 當那個白屏抬起醜陋的頭時,可能沒有任何消息可以幫助您識別問題。 哪個不好。
如果您的某個網站曾經發生過這種情況,那麼當您閱讀本文時,您可能一想到它就會畏縮不前。 我們也時不時地經歷過這種情況。 結果,詛咒可能已經發出。 但是,沒有必要恐慌。 在這篇文章中,我們將通過幾個簡單易懂的步驟向您展示解決這個令人討厭的問題的幾種解決方案,從而幫助您保持理智 - 並將金錢從您的咒罵罐中拿出來。
什麼是 WordPress 死機白屏?
簡而言之,這至少是個麻煩事。 有一天,您的網站正在運行,按應有的方式工作,然後不知從何而來,它向您的訪問者顯示了一個非常不合時宜的白屏。
在大多數情況下,當 WSoD 發生時,您將無法訪問管理面板。 在前端,您可能會或可能不會看到錯誤消息。 此外,某些瀏覽器(例如 Chrome)可能會給您一個 HTTP 錯誤 500 消息,但這仍然不能幫助您解決危機。 有時可能會有更常見的錯誤會為您顯示錯誤消息。
隨著 WordPress 5.2 的推出和內置的致命錯誤保護,WordPress 有時可以確定導致 WSoD 的問題。 在某些情況下,您會看到可怕且模糊的技術困難信息。
其他時候,您可能會看到顯示的嚴重錯誤消息。
如果 WordPress確實發現了您網站的問題,您將收到一封電子郵件,其中包含一個可以識別問題的鏈接,讓您可以輕鬆解決問題。 只需檢查您的管理員電子郵件。 然而,對於白屏——你只會感到沮喪。 啊。 我們將嘗試通過這篇文章盡可能多地緩解這種情況。
什麼導致白屏死機?
幸運的是,您可能會看到 WordPress 白屏死機的一些常見原因:
- 您的網站沒有足夠的內存。 基本上,這意味著腳本已經用完了分配給您站點的內存。
- 插件不兼容。 例如,當您的核心 WordPress 文件更新時,可能不會更新插件以在最新版本的 WordPress 上運行,並且代碼衝突可能導致白屏死機。
- 主題衝突類似於插件不兼容。
- 緩存問題可能會導致您的站點宕機,並且顯示 WSoD 而不是顯示站點的存儲版本。
- 託管問題很常見,這意味著除了提供支持票外,您自己無能為力。
- 由於代碼片段、損壞的圖像、惡意軟件或任何數量的其他一次性問題不會影響您的整個站點,單個頁面或帖子可能會顯示 WSoD。
不管是什麼原因,有一些簡單的解決方案可以幫助您解決問題並讓您的網站立即恢復運行。 我們將引導您完成步驟,以解決您的網站可能遇到死機白屏的最常見原因——這會讓您感覺自己是 WordPress 超級明星,並且在一天結束時更有知識。 讓我們搖滾吧。
修復 WordPress 白屏死機的 6 種方法
在開始實施任何這些步驟之前,您需要確保您的站點的錯誤不是由託管問題引起的。 最簡單的判斷方法是您是否在同一個託管計劃中擁有多個網站。 如果您的其他網站顯示正確,則您的託管可能不會有問題。
此外,如果您只有一個站點,甚至站點的一部分顯示正確,則您可能正在處理站點問題,而不是您的託管平台。 一旦確定您是否有託管問題或真正的站點問題,請開始瀏覽我們在下面列出的解決方案。 如果您確實有託管問題,最好的辦法是立即提交支持票。
1. 增加站點的內存限制
如前所述,使用過多內存的腳本通常是 WordPress 白屏死機的罪魁禍首。 為了糾正這個問題,我們將使用 FTP 更改 wp-config.php 文件中的內存限制。 您可以添加一行代碼來告訴 WordPress 增加您的內存限制。
define( 'WP_MEMORY_LIMIT', '256M' );
要執行此 FTP,請返回 FileZilla。 導航到/public-html/主目錄並找到wp-config.php文件。 右鍵單擊view/edit ,然後將代碼添加到文件中。 接下來,單擊保存。 正如我們之前建議的那樣,在更改文件之前下載 wp-config.php 的副本,以便進行備份。
完成這些更改後,查看您的站點。 如果它已正確加載,請給自己高五,因為您是搖滾明星。 如果還沒有,請深吸一口氣,然後繼續下一個可能的解決方案。
2. 檢查插件問題
第一步是禁用所有插件,以確定其中一個插件是否已流氓。 如果您足夠幸運仍然可以訪問管理儀表板,您可以在那裡禁用您的插件。
導航到您的 WordPress 管理儀表板。 在 P lugins下,從下拉菜單中選擇Deactivate ,單擊複選框以選擇所有插件,然後單擊Apply按鈕。 接下來,在新標籤或私人(Chrome 上的隱身)窗口中檢查您網站的前端。 如果它在沒有 WSoD 的情況下可見,則您已確定插件是導致您的麻煩的原因。
從那裡,您需要單獨重新激活每個插件並在新的私人窗口中重新加載,以確定哪個是罪魁禍首。 找到有問題的插件後,您需要將其禁用,以使您的網站正常運行。 通常,您可以等待更新並在之後重新激活它。
如果由於某種原因無法做到這一點,您可能需要選擇一個不同的插件來替換不再工作的插件。 考慮到通常有幾個插件用於相同的目的並解決相同的問題,這應該不是問題。
如果您無法訪問 WordPress 儀表板怎麼辦?
在這種情況下,您將需要做與我們上面提到的相同的事情,但使用 FTP。 對於這個例子,我們將使用 FileZilla 手動重命名我們的插件文件夾以禁用它們。
打開 FileZilla 並使用您的憑據登錄到您的站點。 為此,請單擊文件,然後單擊站點管理器。 使用您站點的 SFTP 憑據(由您的主機提供)登錄。 如果您是第一次將站點添加到 FileZilla,您需要創建一個新連接。 為此,請給您的站點一個Name ,單擊New Site ,然後輸入主機地址和端口。 接下來,輸入您的用戶名和密碼。 最後,單擊連接按鈕。
建立連接後,導航到 FileZilla 界面右欄中的/public-html//wp-content/plugins/文件夾。 我們強烈建議您在進行任何更改之前將您的插件下載到您的桌面或計算機上的其他文件夾。
對於本教程,我們將創建一個新文件夾並將其命名為site plugins 。 單擊要保存文件的文件夾,然後右鍵單擊插件文件夾,然後單擊下載。
接下來,您將重命名插件文件夾。 這可以是您喜歡的任何內容,但對於此示例,我們將文件夾命名為badplugins 。 要重命名文件夾,請右鍵單擊插件文件夾以調出菜單,然後單擊重命名。 這會誘使 WordPress 相信您的網站上沒有安裝任何插件。 偷偷摸摸。
檢查您的個人插件
要查看重命名您的插件文件夾是否解決了您的問題,請返回站點的前端以查看它是否正確顯示。 如果是的話,那就好! 你已經解開了謎團。 是插件問題。 下一步是再次重命名您的插件文件夾。 這次回到它原來的名字: plugins 。
接下來,您將在插件文件夾中單擊並重複上述步驟。 但是,這一次您將分別重命名每個插件文件夾。 從第一個開始,然後查看您網站的前端。 您將重複這些步驟,直到找到有問題的插件。
如果此步驟未能解決您的問題,您需要繼續處理下一個可能的問題。 不用擔心 - 我們會立即讓您啟動並運行。
3. 改變你的 WordPress 主題
如果增加內存和對插件進行故障排除並不能解決您的問題,那麼接下來要看的是您的主題。 有時您的主題可能是問題的根源,尤其是在 WordPress 核心更新或主題更新之後。
為了以正確的方式執行此操作,您需要使用 FTP。 在通過 FTP 對主題文件夾進行任何更改之前,下載當前主題非常重要。 這樣,如果您的問題不是您的主題,您可以在沒有痛苦和痛苦的情況下恢復它。
返回 FileZilla 並導航到public-html/wp-content/themes 。 右鍵單擊站點的活動主題文件夾,然後單擊下載。 下載完成後,確認文件在本地計算機上,然後從目錄中刪除主題文件夾。 聽起來很嚇人,但完全沒問題。 這就是我們下載它的原因。
請務必注意,確保您的站點安裝了另一個主題,例如 TwentyTwenty。 當您刪除活動主題時,WordPress 將在主題目錄中搜索並激活默認主題。 如果您沒有安裝一個,您可以通過 FTP 手動安裝一個。
看看你的functions.php文件
接下來,看看您網站的前端。 如果它已備份並使用默認主題運行,您將希望將您的 functions.php 文件視為潛在的罪魁禍首。 有時可能會有幾行額外的代碼,或者像缺少分號這樣簡單的東西,這會讓 WordPress 生氣。 根據經驗,向 main functions.php 文件中添加任何內容並不是一個好主意。 如果您選擇添加自定義代碼,我們建議使用子主題。
如果更改主題沒有解決您的問題,並且您的 functions.php 文件似乎正常,您需要將主題上傳回wp-content/themes文件夾。 要通過 FileZilla 完成此操作,請單擊主菜單中的文件。 接下來,單擊導入。 當對話框出現時,導航到您保存活動主題的位置,然後單擊打開。
4. 使用 WordPress 調試模式
如果前面的步驟沒有隔離您的問題,下一步是啟用調試模式。 打開此功能將允許您查看網站的錯誤日誌。 使用 FileZilla,導航到您的根文件夾/public-html/並找到您的 wp-config.php 文件。 右鍵單擊編輯它,然後查找以下代碼行:
define( 'WP_DEBUG', false );
接下來,您要將 false 更改為true 。 此外,您將直接在其下方添加另一行代碼。 添加此行將在您的 /public-html/ 文件夾中創建一個debug.log文件。 您的代碼現在將如下所示:
define( 'WP_DEBUG', true); define( 'WP_DEBUG_LOG', true );
保存您的文件,然後刷新您的實時站點。 現在,您不會看到一直困擾您的白屏,而是頁面上可能會出現可見的錯誤和警告。 即使您沒有任何可見的錯誤,您也可能需要檢查您的 debug.log 文件。 您會在那裡發現需要您注意的潛在問題。
要訪問您的調試日誌,請轉到 FileZilla 並導航到/wp-content/文件夾。 滾動直到找到debug.log文件。 右鍵單擊它並單擊查看/編輯。
5. 清除緩存
修復 WordPress 白屏死機的另一個解決方案是清除緩存。 您可以通過三種方式完成它。 通過在瀏覽器中使用緩存插件或清除服務器端緩存。 無論您選擇哪種方式,都應在故障排除過程中考慮清除緩存。
什麼是緩存?
緩存通過將文件副本存儲在臨時位置來工作,以便可以更快地訪問它們,從而加快加載時間。 為了最好地解釋什麼是緩存,讓我們用一個真實的例子來演示它是如何工作的。
假設你正在做飯。 你的爐子就在冰箱對面。 如果你每次需要一種食材時都必須跑到冰箱前,這會減慢這個過程,可能會激怒你為之做飯的人。 想像一下,您擁有在櫃檯上的爐子旁邊做晚餐所需的所有食材。 通過讓一切都離您最近,減少了在餐桌上用餐所需的時間,從而使您的員工更快樂。
這就是緩存的工作原理。 我們也有完整的流程細分,您也可以查看。
清除瀏覽器緩存
有時,您只需清除瀏覽器中的緩存即可修復 WSoD。 在解決您網站上可能遇到的任何問題時,這是一個簡單但經常被忽視的解決方案。 對於此示例,我們將使用 Chrome。 在 Mac 上,從前端查看您的網站時,單擊左上角的Chrome ,然後選擇Clear Browsing Data 。 (對於 Windows 用戶,您可以進入省略號菜單,選擇Settings ,進入Privacy and Security ,然後Clear Browsing Data 。)
當彈出窗口出現時,從時間範圍下拉菜單中選擇所有時間,然後確保選擇B行歷史記錄、 Cookies 和其他站點數據以及緩存的圖像和文件。 最後,單擊清除數據按鈕。 這會清除您的所有瀏覽歷史記錄、cookie 以及存儲的圖像和文件,而無需重置您可能擁有的任何存儲密碼。
接下來,打開一個私人窗口並輸入您網站的 URL。 如果您的網站可見,則說明您的問題已解決。 如果沒有,請嘗試使用緩存插件來清除 WordPress 網站的緩存。
使用緩存插件
如果您可以訪問 wp-admin 面板並使用緩存插件(例如 WP Rocket、W3 Total Cache 或其他),則可以通過清除緩存來修復 WordPress 白屏死機。 對於此示例,我們將使用 W3 Total Cache。
在 wp-admin 儀表板中導航到性能。 接下來,單擊常規設置。 在這裡,您可以清除頁面、JavaScript 和 CSS、數據庫、對象、瀏覽器和 CDN 的緩存(如果已啟用)。 當您準備好清除緩存時,單擊您希望刷新的每個部分的保存設置和清除緩存按鈕。
重複上述步驟以查看您的網站並檢查您的問題是否已解決。
清除 WordPress 主機緩存
大多數 WordPress 託管服務提供商都具有清除服務器緩存的功能。 Flywheel、Cloudways、Pressable 和 SiteGround 等公司都提供這項服務。 只需單擊幾下,清除服務器的緩存即可為您解決問題。
例如,清除飛輪中的緩存是通過單擊飛輪儀表板中的高級選項卡,然後單擊刷新緩存按鈕來完成的。
在 WP Engine 中,清除緩存同樣簡單。 從您的站點列表中,單擊您需要清除緩存的站點。 接下來,單擊緩存。 最後,單擊清除所有緩存按鈕。
無論您託管哪個提供商,清除 WordPress 緩存都是一項簡單的任務,您只需幾個步驟即可自行完成。
6. 修復一篇長博文
現在,在某些情況下,您的大部分網站都可以正確顯示,除了這里和那裡的帖子。 我們也有解決這個問題的辦法。 要應用此修復程序,您需要返回到 FileZilla並編輯您的wp-config.php文件。 正如我們之前提到的,在對其進行任何編輯之前將文件下載到本地計算機是一種很好的做法。
我們將使用的代碼將告訴 WordPress 增加您網站的 PHP 文本處理限制。 字符限制因主機服務器的配置方式而異,因此我們希望在此處放置大量字符以覆蓋我們的基礎。 話雖如此,我們不想過多地增加限制。
下面代碼中的第一行增加了遞歸限制。 遞歸是 PHP 中調用自身的過程。 必須有一個結束函數,否則遞歸將永遠繼續調用自己,直到您的服務器內存不足。 如果您在較長的帖子或頁面上看到死機白屏,則可能是您的遞歸限制設置得太低。
第二行允許提高PCRE 回溯限制。 回溯基本上是一種用於解決問題的 PHP 算法。 它將遍歷可能的解決方案,直到找到正確的解決方案 - 基於編程的解決方案。將此數字設置得太低可能會導致未解決的問題,這可能會導致討厭的白屏。 與遞歸限制類似,設置較高的回溯限制可能會耗盡系統的內存。
解決方案。
實施修復
將wp-config.php文件下載到計算機後,右鍵單擊它並選擇view/edit 。 下一步就是輸入這兩行代碼。 我們建議對您的代碼進行註釋,以幫助區分文件中的標準代碼和自定義代碼。
//* Sorry, I'm long-winded *// ini_set('pcre.recursion_limit',20000000); ini_set('pcre.backtrack_limit',10000000);
最後,單擊保存以完成更改。 刷新博客文章後,您有望發現自己的博客文章已準備好讓全世界看到。
如果所有其他方法都失敗了,請返回您的主機
如果您已按照我們文章中概述的步驟進行操作,您的 WordPress 白屏死機問題可能已經解決。 話雖如此,你們中的一些人可能仍然有同樣的問題。 你現在應該怎麼做?
在這種情況下,聯繫您的託管服務提供商將是一個好主意。 大多數可用的 WordPress 託管公司在他們的計劃中提供一流的客戶支持選項。 Cloudways 和 SiteGround 都以擁有出色的支持平台而著稱,並且很樂意幫助您解決最常見的 WordPress 問題。
WordPress 死亡屏幕不必太嚇人
我們知道 WSoD 錯誤可能令人恐懼和沮喪。 無論您的白屏死機的原因是插件、主題、內存限制還是緩存,我們都制定了一些可能的解決方案來修復它。 您可能已經通過功能齊全的網站到達本文的結尾。 通過使用 FTP、幾行 PHP 和新發現的故障排除技巧,您擁有使您的網站正常運行、看起來不錯、感覺良好的工具。
你有沒有經歷過 WordPress 白屏死機? 如果是這樣,您採取了哪些措施來糾正它? 通過在下面發表評論讓我們知道。