要修復(fù) WordPress建站過程中的白屏死機(jī),請按照以下步驟找到解決方案,是按照我遇到過的最常見的 WSOD 原因順序組織。錯誤記錄和調(diào)試步驟 (#2) 是最技術(shù)性的,但它是徹底的并且總是會告訴你是什么導(dǎo)致 WordPress 程序的終止。
北京六翼信息技術(shù)有限公司為大家提供了幾個免費(fèi)插件,它們可以成為有用的診斷和修復(fù)工具。您可能還會發(fā)現(xiàn)它的數(shù)據(jù)庫掃描和修復(fù)功能以及文件更改檢測特別有用。它甚至具有服務(wù)器工具,可以更深入地了解您的服務(wù)器設(shè)置和功能。
最后,一個好的、最近的備份將使您的網(wǎng)站恢復(fù)到最后已知的良好狀態(tài)。Backup Buddy是這個角色的最佳插件。
1. 清除瀏覽器緩存和 Cookie
瀏覽器和服務(wù)器中站點(diǎn)的緩存頁面可能會向您顯示與實(shí)際情況不同的內(nèi)容。讓我們確保您看到的是 WordPress 向您網(wǎng)站的全新訪問者展示的內(nèi)容。
首先,清除瀏覽器的緩存和 cookie。如果您登錄到 WordPress 或任何其他站點(diǎn),這將結(jié)束您的用戶會話,以便您像其他訪問者一樣查看它。
接下來,使用您的托管面板和 WordPress 管理員(如果可用)清除您的主機(jī)和 WordPress 緩存插件正在創(chuàng)建的任何服務(wù)器端緩存。嘗試關(guān)閉所有站點(diǎn)和服務(wù)器緩存。在瀏覽器中執(zhí)行硬刷新。如果這樣可以解決問題,則問題可能是您激活了緩存設(shè)置但在您的系統(tǒng)上不起作用。通過排除過程,您可以確定哪些有效,哪些無效。
2. 查找 PHP 錯誤
WordPress 核心、主題或插件中的 PHP 代碼可能會產(chǎn)生致命錯誤,這將使 WordPress 放棄死機(jī)白屏。
要獲得有關(guān)致命 PHP 錯誤及其原因的更多信息,您可以打開 PHP 錯誤報(bào)告并將其發(fā)送到屏幕、日志文件或兩者。致命錯誤可能指向 WSOD 的來源。
作為基于 PHP 的 Web 應(yīng)用程序,WordPress 有自己的調(diào)試診斷報(bào)告系統(tǒng),可幫助您利用 PHP 的錯誤記錄功能。要打開并控制它,請確保其中有一行wp-config.php內(nèi)容:
定義('WP_DEBUG',真);
您可能需要添加它或?qū)⒅祻?nbsp;false 更改為 true。這告訴 WordPress 打開 PHP 調(diào)試。
您還可以通過安裝和激活WP 調(diào)試插件來走捷徑。它將為 WordPress 開啟 PHP 調(diào)試,而無需您wp-config.php自己直接修改。
下面顯示的附加wp-config.php參數(shù)會將調(diào)試輸出作為 HTML 打印到屏幕上,默認(rèn)情況下名為“error_log”的文件:
define('WP_DEBUG_DISPLAY',true);
define('WP_DEBUG_LOG',true);
強(qiáng)制 WordPress使用其 CSS 和 JavaScript 依賴項(xiàng)的非優(yōu)化版本也可能會有所幫助,因?yàn)樗鼈兛赡軙?dǎo)致問題:
define('SCRIPT_DEBUG',true);
Debug Bar插件是一個有用的附加和補(bǔ)充工具。它將在一個漂亮的界面中向您顯示調(diào)試數(shù)據(jù)。
為此,php.ini必須有一行為error_reporting常量提供除 以外的值NONE,例如error_reporting = E_ALL。此行的標(biāo)題不應(yīng)有分號;這使它成為評論而不是活動設(shè)置。請注意,如果您使用E_ALL.使用不同的值,例如E_ERROR僅記錄導(dǎo)致 WordPress 崩潰的致命運(yùn)行時錯誤。
3.檢查主題和插件沖突
如上一步所述調(diào)試 PHP 錯誤應(yīng)該指向一個明確的主題或插件文件作為 WSOD 的來源。您還可以使用技術(shù)性較低的消除過程方法來關(guān)閉它。
故障排除主題
白屏死機(jī)通常是由 WordPress 主題和/或插件之間的沖突引起的。要確定沖突源,您可以嘗試停用所有插件并切換到帶有 WordPress 核心的當(dāng)前未修改的默認(rèn)主題包,例如 Twenty-Twenty-Three。
從主題開始——這是最容易測試的。如果將您的活動主題切換為已知良好、未經(jīng)修改的默認(rèn)主題使您的網(wǎng)站恢復(fù)在線,則您知道問題出在您一直使用的主題上。
查看您的主題functions.php文件(如果有)。如果您最近更改了它,那很可能是您不幸的根源。該functions.php文件是添加自定義功能代碼的地方,以便在激活時與主題一起使用。這里的錯誤代碼和語法錯誤會給你一個 WSOD。
插件故障排除
您可以停用插件,而無需通過命令行/SSH 或 SFTP 訪問 WordPress 管理員,只需將插件文件/wp-content/plugins/夾暫時移出文件夾即可。我的做法是創(chuàng)建一個名為“A”的插件子文件夾,使其首先出現(xiàn)在按字母順序排序的/plugins目錄中。然后我將所有其他插件文件夾移動到“A”。
完成此操作后,重新加載您的網(wǎng)站。WordPress 的行為就好像插件都消失了一樣。它們?nèi)匀话惭b但已停用。如果白屏死機(jī)消失了,您可以嘗試一個一個地重新激活您的插件和主題,每次都刷新您的主頁,看看是哪個導(dǎo)致您的網(wǎng)站崩潰。
Meks Quick Plugin Disabler是一個方便的工具,可以快速禁用所有活動插件,然后根據(jù)您的命令從 WordPress 管理員內(nèi)部重新啟用它們。
4.修復(fù)損壞的核心文件
您的 WSOD 可能是核心 WordPress 文件損壞的結(jié)果。雖然這不太可能,但只需在 WordPress 儀表板更新區(qū)域中單擊一下即可快速重新安裝最新版本的 WordPress。這不會損害您的任何插件、主題或現(xiàn)有內(nèi)容,因此這是一種確認(rèn)您的核心文件是否正常的好而簡單的方法。
如果上述步驟均無濟(jì)于事,則 WSOD 可能是由您無法控制的服務(wù)器環(huán)境問題引起的。在這種情況下,您可能需要聯(lián)系您的托管服務(wù)提供商尋求幫助。作為最后的手段,您還可以通過恢復(fù)備份將您的站點(diǎn)回滾到“最后一次正確”狀態(tài)。





