在WordPress中調試和修復503服務不可用錯誤

在使用WordPress的過程中,可能會由于某些原因出現網站前后臺都顯示白屏,并顯示“503服務暫時不可用 503 Service Unavailable Error”錯誤。今天倡萌將為大家展示展示如何調試和修復 WordPress 503錯誤

WordPress 503錯誤是什么?

“503服務不可用錯誤”表示您的網站處于活動狀態,但由于特定原因而無法訪問服務器。它使WordPress前后臺都無法訪問。

根據服務器的配置,錯誤的提示方式可能有所不同。例如,您可能會看到下面的錯誤代碼:

  • ? ? 503服務不可用
  • ? ? Http/1.1服務不可用
  • ? ? HTTP服務器錯誤503
  • ? ? 503錯誤
  • ? ? HTTP 503
  • ? ? HTTP錯誤503

導致這個錯誤一般由幾種可能,可以從錯誤的WordPress插件或主題(行為不當的自定義PHP腳本)到服務器端問題幾個方面去排查。但是,您不必擔心,因為修復503服務不可用錯誤相對容易。

WordPress 503錯誤的原因和解決方案

錯誤的原因可能有幾個方面,所謂我們需要逐一進行排查,然后嘗試各種解決方案來解決該問題。

原因1、錯誤的WordPress插件

如果在安裝或更新特定插件后遇到503錯誤,則插件可能是罪魁禍首。只需刪除對應的插件即可解決。但是,如果您不知道哪個插件引起了503錯誤,可以通過禁用所有插件來診斷問題的根源。

停用所有WordPress插件

插件沖突或損壞是WordPress 503錯誤的一個常見原因。因此,您需要停用有故障的插件。但是現在網站后臺無法訪問了,我們只能通過FTP或服務器文件管理器來禁用WordPress插件,具體方法如下:

1.使用FTP文件管理器訪問您網站的wp-content目錄。

2.將plugins文件夾重命名為其他名稱,比如 plugins123,這樣就可以停用所有插件。然后嘗試登錄 通過網址 您的域名/wp-admin/ 訪問并登錄后臺,如果此操作解決了問題,則意味著您的插件有問題。我們現在需要做的就是找到確切的罪魁禍首。

3.將plugins123文件夾更改回原來的名稱plugins。這樣,WordPress可以重新訪問您的插件,但是所有插件仍處于非活動狀態。

4.登錄到您的WordPress儀表板,然后訪問?插件 > 已安裝的插件,一次激活一個插件,然后刷新網站,如果激活某個插件后出現503錯誤,那說明就是這個插件導致的錯誤。

5.通過FTP或文件管理器,訪問?wp-content/plugins?目錄,刪除有問題的插件即可。

原因2、錯誤的WordPress主題

如果主題有錯誤或已經損壞,也有可能會導致無法正常登錄網站。所以我們可以禁用掉當前的主題,并恢復為默認主題。

方法1、通過FTP或文件管理器切換主題

1.使用FTP文件管理器訪問您網站的wp-content目錄。

2.進入到 themes 目錄下,重命名當前使用的主題。

倡萌建議一定要保留至少一個WordPress默認自帶的主題,以便主題有問題的時候可以切換為自帶主題。重命名主題文件夾以后,網站前臺頁面是無法訪問的,但是可以直接訪問后臺 wp-admin 進行登錄。

3.重命名了主題以后,試下是否可以登錄,如果可以登錄,說明是主題有問題。登錄后臺以后,你可以在 外觀 - 主題,重新上傳安裝主題或者更換為其他主題。

方法2、通過phpMyAdmin更換主題

如果您不記得正在使用的主題名稱,則無需擔心。一般主機管理后臺都會提供有phpMyAdmin等數據庫管理界面,登錄你的主機后臺,進入到phpMyAdmin界面,然后按照下面的操作進行,假設你的wp-content/themes 目錄中有一個WP自帶的默認主題 twentyseventeen

1.在當前網站的數據庫中,進入wp_options表,并通過翻頁,找到 templatestylesheet字段。

2.您當前使用的主題名稱位于option_value列上。雙擊名稱,并將其重命名為 twentyseventeen (也就是主題文件夾的名稱)

3.完成后,重新刷新您的網站。

如果停用當前使用的主題后 WordPress 503錯誤消失,說明當前使用的主題版本有錯誤,請嘗試更新主題,或者換一個WordPress主題

原因3、錯誤的自定義PHP代碼

如果503服務不可用錯誤仍然存??在,則可能是網站上某個地方的自定義PHP代碼段有問題而引起的。

但是,您如何確定哪些第三方代碼段是有問題的代碼段?

因此,請嘗試調試您的站點以診斷和修復有問題的地方。

啟用WP_DEBUG調試模式

由于WordPress 503錯誤通常使您無法進入網站后臺,因此請從FTP或文件管理器激活WP_DEBUG模式,以便您可以檢查錯誤日志。請按照以下步驟操作:

1.通過FTP或文件管理器進入到網站的根目錄文件夾。找到并打開wp-config.php文件,你可以在文件里找到一行代碼:

define ('WP_DEBUG', false);

2.將上面的那行代碼替換為:

define ('WP_DEBUG', true); //開啟調試模式
define ('WP_DEBUG_LOG', true); //將調試日志寫入文件
define ('WP_DEBUG_DISPLAY', false); //不要在網站前臺顯示錯誤代碼

3.保存,然后刷新網站。然后通過文件管理器訪問 wp-content 目錄,應該可以看到一個名為 debug.log 的文件,下載后使用Excel打開就可以查看錯誤日志。

4.然后你就需要在錯誤日志中,查看具體的錯誤問題,并修復它們。

原因4、與服務器相關的問題

如果以上方法仍然沒有結果,則問題可能出在您的Web服務器上。您可以嘗試使用下面三種方法。

1、限制WordPress心跳

WordPress Heartbeat是一個內置API,可讓您的網站具有自動保存文章功能。此功能會消耗您的服務器資源,但是您可以使用Heartbeat Control WordPress插件對其進行限制或完全將其禁用,更多介紹請看《什么是WordPress Heartbeat API以及如何對其進行管理

要確定WordPress心跳是否是WordPress網站上“503服務暫時不可用”錯誤的原因,請在將下面的代碼添加到主題的functions.php文件開頭的 <?php 下面中:

add_action('init', 'wpkj_stop_heartbeat', 1);
function wpkj_stop_heartbeat(){
    wp_deregister_script('heartbeat');
}

保存后,請重新刷新網站并查看錯誤是否消失。如果它不能解決503 WordPress錯誤,則WordPress心跳不是問題的根本原因。因此,不要忘記從functions.php文件中刪除剛才添加的代碼。

2、限制Google的最大抓取速度

Google和其他搜索引擎會抓取您的網站來索引您的內容-他們會定期訪問您的網站以收集內容并確定其他排名指標。

此爬網過程可能會損害您的服務器資源。因此,它可能會降低您的網站速度,并導致503 WordPress錯誤

幸運的是,將網站集成到Google Search Console后,您可以限制最大爬網速度。從“抓取速度設置”?頁面上執行此操作,或請求?Google限制您的網站抓取速度。

您所做的更改將于三個月內生效。此外,如果您的網站具有非WWW和WWW版本,則必須同時執行這兩個操作。

3、增加服務器資源

您是否一直收到WordPress 503錯誤?如果是這樣,請檢查您的Google Analytics獲取其他流量統計根據。如果您獲得網站的流量有一個比較大的提升,則肯定是服務器資源不足了。

但是,如果您沒有多余的流量卻仍然看到503錯誤,則可能是服務器內存不足或CPU占用過高。

如果您當前的托管計劃不能支持較大流量,那么該是時候切換到新的WordPress托管服務或升級您的托管套餐了。

總結

WordPress 503錯誤是最令人困惑的錯誤只要,因為您的WordPress前臺和后臺都不會顯示具體是什么原因。但是根據經驗,非常大的可能是由WordPress插件或主題中的PHP代碼錯誤引起的。

嘗試以下方法來排查和修復該錯誤:

  • 停用您的WordPress插件
  • 禁用當前的WordPress主題
  • 啟用WP_DEBUG
  • 解決與服務器相關的問題

如有任何疑問,請在下面留言。祝好運!

倡萌

一個文科IT宅男,喜歡折騰WordPress和被它折騰 ^_^

1 條評論

發表評論