問題描述

像標題中提到的,我認為這是迄今為止 Automattic 或 Wordpress 團隊無法解決的一個問題,無論將來 Wordpress 將會發布什麼版本。在這個問題上,我正在關注死亡的白色螢幕,每當我想啟用某些外掛,我都會得到。我正在開發一個網站,要求我使用 30 個外掛。是的,有人會說這是一個網站太多的外掛,難怪我會得到白色的螢幕。不過嘿,這是 Wordpress,是讓 Wordpress 成為最受歡迎的部落格平臺的原因之一是因為可以讓您在更短的時間內實現您的目標。對於那些誰在 php + wp 開發專家,你們可以說駭客 wp 比使用大量的外掛,就像我在做,但嘿,大多數 wp 使用者不是 php guru 。大多數是像我這樣的普通使用者,甚至只是知道如何安裝和使用他們可用的。

到目前為止,這裡是我們在得到白色螢幕死亡 (WSOD) 時所做的常見步驟。

  1. 重新命名 wp-content /plugins 資料夾名稱,如 wp-content /plugins-temp,這將停用所有外掛

  2. 像我一樣,我喜歡將個人外掛資料夾名稱重新命名為 wp-content /plugins /akismet 到 wp-content /plugins /akismet-temp

  3. 之後,重新啟動所有的外掛一個接一個,所以我們可以知道哪個外掛是罪魁禍首

  4. 檢查外掛檔案末尾是否有空的空格,尤其是在 php 結束標籤之後?> 確保標籤後沒有額外的空間。確保檢查主題 functions.php 檔案 (如果有) 或外掛檔案。

  5. 增加 wordpress 的記憶體分配

通常,您的網站將恢復正常。但是這還是不能解決這個問題。

對我來說,這對我來說非常討厭,特別是第 3 步。我們怎麼知道哪個外掛是罪魁禍首?首先,我認為第 3 步真的是一個事實,但現在我覺得它的謊言。為什麼?

像現在一樣,突然之後,我啟用了 25 個外掛,我不能重新啟動的外掛之一是 Akismet 。什麼? Akismet 在?是的,這個外掛由 WP 團隊自己開發。我知道上面的步驟 3 是一個謊言,因為如果我先啟用 Akismet,Akismet 被啟用成功。完全沒問題。

所以現在的問題是外掛之間的外掛相容性。我如何作為普通使用者可以識別哪個外掛是不友好的什麼外掛??? 如果我使用 30 個外掛,一個外掛的幾個機率與每個外掛不相容?我該怎麼知道應該先啟動哪個外掛,以免 WSOD 出現?

如果有錯誤,那麼也許我可以有一個線索,但它是一個純白色的螢幕。我無能為力 wordpress 中的這種外掛真的是一個未解決的問題,這使我真的很壓力。

任何人知道如何解決這個問題?至少知道如何透過 mysql 啟用外掛?

最佳解決方案

要讓 WordPress 顯示錯誤,請編輯 wp-config.php 檔案

define( 'WP_DEBUG', true );

預設情況下,此選項設定為 false,並應位於檔案的底部。這將允許您檢視正在生成哪些錯誤。

另外,檔案末尾的空格幾乎不會導致 WSOD; 這就是導致 Feed 中 「標題已傳送」 錯誤的原因。

鑑於您的描述,我只能想到為什麼 Akismet 引起錯誤的兩種可能性:

  1. 你超過了記憶體限制

  2. 另一個外掛可能正在使用 Akismet 使用的功能,導致 「無法重新宣告 user-defined 功能」 錯誤

嘗試開啟 WP_DEBUG,如果您有任何問題,請返回。

次佳解決方案

我有幾次白屏死亡。如果您嘗試停用您的外掛,並且不起作用,請轉到您的主題。測試與二十十主題。如果問題消失了,那麼你的主題是錯誤的。

在您的主題中尋找問題:

未轉義的字元可能會導致問題。更改 @ @

在空白空間的 function.php 結尾會引起問題。

沒有發現從 WP.org 下載最新版本,並覆蓋除了 wp-content 資料夾之外的所有資料夾。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。