如何修復 WordPress 中的“503 錯誤”(逐步)

已發表: 2022-01-26

您是否在 WordPress 網站上遇到過 503 錯誤? 這是一個常見的 WordPress 錯誤,可以按照我們今天教程中介紹的步驟進行修復。

其中一些步驟可能看起來很技術,但實際上它們不需要任何深厚的技術知識。

在本文中,我們將首先討論導致 WordPress 中 503 錯誤的原因,然後我們將向您展示所有潛在的解決方案以及如何防止將來遇到 503 錯誤。

讓我們潛入吧!

如何修復 503 錯誤(WordPress)
  1. 暫時停用插件
  2. 暫時停用您的主題
  3. 暫時禁用您的 CDN
  4. 限制 WordPress 心跳 API
  5. 啟用 WP_DEBUG

什麼是 503 錯誤? 是什麼原因造成的?

當您的網站服務器無法訪問時,就會出現 503 錯誤——即服務器不可用。 不可用的原因可能是錯誤編碼的插件或主題、流氓代碼片段、服務器故障、DDoS 攻擊或整體託管服務的質量問題。

如何修復 #WordPress 中的 #503 #error(分步)
點擊推文

讓我們更深入地了解每個原因:

編碼錯誤的插件或主題:

通常,當您安裝或更新編碼錯誤的插件或主題時,會出現 503 錯誤。 當插件或主題無法正常運行時,會導致 WordPress 拋出 503 錯誤。

代碼片段流氓:

自定義 WordPress 網站非常簡單。 您可以在此處添加一些 CSS 代碼,在此處上傳 PHP 腳本,並根據您的需要修改站點。 但是,一段糟糕的自定義代碼會帶來很多麻煩。 您遇到的 503 錯誤可能是由於代碼片段如此糟糕。

糟糕的虛擬主機設置:

由於負擔能力因素,我們都喜歡共享託管服務,但我們很少考慮這種設置的缺點。 將您的網站與其他未知網站託管在同一台服務器上意味著任何網站最終都可能過度使用服務器的資源。 您的網站可能已被剝奪其資源,從而導致 503 錯誤。

服務器技術問題:

您的服務器可能因為正在維護中或其他一些計劃的工作而關閉。 通常,由這些原因引起的任何問題都會在幾個小時後消失。 也就是說,託管服務提供商應該擁有鏡像服務器,以確保站點在維護期間正常運行。

DDoS 攻擊:

雖然這種情況不會經常發生,但 503 錯誤可能是由於對您的網站進行的攻擊而產生的。 尤其是 DDoS 攻擊,通常與 503 錯誤相關聯。 這是因為,在這些類型的攻擊中,黑客會向您的網站發送大量流量,從而導致服務器過載並導致您的網站崩潰。 在此處閱讀有關 WordPress 網站上的 DDoS 攻擊以及如何降低風險的更多信息。

這些是導致 WordPress 網站出現 503 錯誤的典型原因。

值得注意的是,該錯誤有幾種不同的變體:

  • “503服務不可用”
  • “503服務暫時不可用”
  • “HTTP 服務器錯誤 503”
  • “HTTP 錯誤 503”
  • “錯誤 503 服務不可用”
  • “由於維護停機或容量問題,服務器暫時無法滿足您的請求。 請稍後再試。”

我們在下面介紹的解決方案應該可以修復 WordPress 網站上的任何 503 錯誤。

如何修復 503 錯誤(WordPress)

對您有用的確切修復取決於根本原因。 503 錯誤本身並沒有為您提供太多信息。 因此,在本節中,我們將向您展示一些要遵循的步驟,以便查明原因並修復它。

在我們深入研究解決方案之前,請確保您正在執行以下初步步驟:

當您更新插件或主題時,也會出現 503 錯誤 WordPress。 您可能需要再次檢查您的網站,看看這是否是臨時問題。 只需確保在檢查站點之前清除緩存即可。

正如我之前提到的,有時會因為您的 Web 服務器上的維護工作而發生 503 錯誤。 您的託管服務提供商必須通過電子郵件通知您。 在典型的維護警報中,您會被告知服務器預計會關閉多長時間。 所以檢查你的電子郵件。

bluehost 定期維護電子郵件
Bluehost 定期維護電子郵件

如果在您向網站添加代碼片段後立即出現錯誤,那麼您知道罪魁禍首是誰。 刪除代碼,您的網站應該恢復正常。 但是,如果您無法訪問儀表板,我們建議您恢復網站的備份。 您的託管服務提供商應該能夠幫助您解決這個問題。

什麼都沒用? 那麼讓我們試試下面的步驟。

1.暫時停用插件

503 錯誤通常是由您在站點上安裝的插件引起的。 要確定是否是插件導致了錯誤,您只需暫時禁用所有插件。

503 錯誤會阻止您訪問儀表板,因此您必須使用像 FileZilla 這樣的 FTP 客戶端。

打開 FileZilla,連接到您的站點,然後導航到public_html目錄。 打開文件夾並導航到wp-content 。 在此目錄中,您會找到另一個名為plugins的目錄。 它包含您網站的所有插件(活動和非活動)。 將插件目錄重命名為plugins_或其他任何名稱。 這將停用您網站上的每個插件。

編輯插件文件夾
通過重命名主插件目錄來禁用所有插件

再次返回您的站點,查看 503 錯誤是否消失。 如果是,那麼可以安全地假設是插件導致了錯誤。

現在,是時候查明導致問題的確切插件了。

返回 FileZilla,將插件目錄的名稱改回原來的(“插件”)。 進入並開始一個一個地處理所有插件。 做這個:

  1. 將目錄中第一個插件的名稱更改為其他名稱。
  2. 檢查網站以查看錯誤是否消失。
  3. 如果它確實消失了,那麼您已經找到了罪魁禍首。 如果不是,請改回第一個插件的名稱,然後以相同的方式繼續測試下一個插件。
  4. 重複直到找到導致問題的插件。

找到導致錯誤的插件後,最好將其刪除並尋找替代方法。 如果您的插件都沒有導致 503 錯誤,請嘗試下一個解決方案。

2.暫時停用您的主題

停用主題有點棘手,因為您不能像我們對插件文件夾所做的那樣簡單地重命名主題文件夾。 它會導致它自己的錯誤。

所以這就是您需要做的:登錄您的主機帳戶,轉到cPanel部分並打開phpMyAdmin

選擇wp_options並轉到Search 。 在option_name 下,編寫template並單擊Go

在 phpmyadmin 中更改 wordpress 主題
在 PHPMyAdmin 中查找您當前的主題

系統將運行搜索,然後在option_value下顯示您當前的主題。 選擇“編輯”並將當前主題更改為“ twentytwentyone

在 phpmyadmin 中編輯選項值
在 PHPMyAdmin 中編輯當前主題

如果這修復了錯誤,那麼您可能想要嘗試獲取主題的早期版本(一個有效的),安裝它,然後等待主題的開發人員發布更新。 或者,如果可以的話,您可以完全切換到不同的主題。

3. 暫時禁用您的 CDN

有時,已知 CDN 會導致 503 錯誤,因此禁用它(如果您的站點上有一個在工作)可能是一種快速的解決方案。 所有 CDN 都有一些選項允許您手動暫停它們。 例如,在 Cloudflare 上,您需要登錄您的帳戶,選擇您的網站,然後單擊Pause Cloudflare on site選項。

接下來,檢查您的網站,如果 503 錯誤仍然存在,請取消暫停 CDN 並嘗試下一個解決方案。

4.限制WordPress心跳API

Heartbeat API 負責幾個基本功能,例如自動保存帖子、顯示插件通知、防止您在其他人修改帖子時訪問帖子等。

API 使用您的服務器資源來執行這些功能。 如果您的服務器無法處理 API 的需求,它將拋出 503 錯誤。 要確定 Heartbeat API 是否導致錯誤,您需要暫時禁用它。

打開您的 FTP 客戶端 (FileZilla),連接到您的網站並轉到public_html → wp-content → 主題。 打開當前主題目錄並下載functions.php文件的副本,然後對其進行編輯。

function.php 文件位置 - 503 錯誤修復
定位function.php文件

在開始<?php標記之後添加以下代碼片段:

 add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat') } 
編輯 function.php 文件以修復 503 錯誤
在 function.php 文件中插入代碼片段

保存文件,重新上傳,然後檢查您的網站。 如果錯誤消失,那麼你已經抓住了罪魁禍首。

但請記住,Heartbeat API 是必不可少的,因此您不能長期禁用它。 如果您願意,可以通過安裝 Heartbeat 控制插件來減慢其頻率。 只需確保在設置插件之前從 functions.php 文件中刪除代碼片段即可。

5.啟用WP_DEBUG

當所有其他解決方案都失敗時,啟用調試模式可以為您提供答案。

您可以使用插件或修改 wp-config 文件來啟用調試模式。

由於 503 錯誤會阻止您訪問儀表板,因此安裝插件是不可能的。 所以你必須修改 wp-config 文件手動。

打開您的 FTP 客戶端 (FileZilla),轉到public_html → wp-config.php並下載該文件的副本,然後對其進行編輯。 將以下代碼段插入其中:

 define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );

保存文件並重新上傳。

編輯 wpconfig 文件以修復 503 錯誤
在 wp-config.php 文件中插入代碼片段

現在轉到wp-content目錄,您應該在其中找到一個debug.log文件。

日誌文件包含您的網站遇到的錯誤。 它將向您顯示錯誤的原因以及導致錯誤的特定代碼行。 您不會找到 503 錯誤的直接指示,因此我們建議將日誌顯示給您的託管服務提供商並尋求幫助。

至此,您應該對 503 WordPress 錯誤有了解決方案。 但是,您應該確保它以後不會再出現在您的網站上。

轉到頂部

將來防止 503 錯誤 WordPress

您可以按照以下說明防止 503 錯誤出現在您的網站上:

如何修復 #WordPress 中的 #503 #error(分步)
點擊推文
  • 使用來自 WordPress 存儲庫或受信任的開發人員(如 Themeisle)的主題和插件。 閱讀如何選擇主題以及如何選擇插件以獲取更多信息。
  • 如果您的網站需要更多資源才能正常運行,請轉向更好的託管計劃。
  • 使用防火牆來防止 DDoS 攻擊。
  • 在臨時站點上安裝或更新插件,然後在實時站點上執行它們。

就是這樣的人! 至此,我們到了本文的結尾。

我希望您發現本指南易於遵循且對您有所幫助。 如果您有任何疑問,請在下面的評論中告訴我們。

免費指南

加快速度的 5 個基本技巧
您的 WordPress 網站

將加載時間縮短 50-80%
只需遵循簡單的提示。

下載免費指南