WordPress 中的 503 錯誤:它是什麼以及如何修復它(2023 指南)
已發表: 2023-07-11嘗試處理 WordPress 中的 503 錯誤?
當您的 WordPress 站點的服務器由於某種原因不可用時,會顯示 503 錯誤(又名 503 服務不可用錯誤)🐞。
這看起來可能是一個可怕的錯誤,但通過一些系統的故障排除可以找到錯誤的根源。 了解 WordPress 中出現 503 錯誤的原因以及如何修復該錯誤。 🔧
WordPress 中的 503 錯誤是什麼?
當您的 Web 服務器由於某種原因不可用時,會顯示 503 服務不可用錯誤。 不幸的是,該錯誤並沒有具體告訴您出了什麼問題,這意味著修復該錯誤可能需要一些時間。
根據託管設置和您的 Web 瀏覽器,您可能會看到此錯誤的以下變體之一:
- 503服務不可用
- 503服務暫時不可用
- HTTP 服務器錯誤 503
- HTTP 錯誤 503
- 錯誤 503 服務不可用
- 由於維護停機或容量問題,服務器暫時無法滿足您的請求。 請稍後再試。
當出現 503 錯誤時,您的整個網站將不可用,包括 WordPress 管理員。 🐛
是什麼導致 WordPress 出現 503 錯誤?
503 錯誤可能是由服務器維護、DDoS 攻擊、代碼片段、插件或主題中的錯誤代碼引起的; 或服務器上的流量過大,特別是當您使用資源有限的共享主機時。
如果 503 錯誤是由維護、DDoS 攻擊或流量激增引起的,它可能會在短時間內自行解決。 如果它是由錯誤的代碼引起的,則在您解決問題之前,它可能會再次發生。
如何修復 WordPress 中的 503 錯誤
在開始實施以下步驟之前,值得檢查一些事項。
首先,您是否在網站上運行過更新? 當您的網站處於維護模式時,可能會顯示 503 錯誤。 等待幾分鐘讓更新完成,然後刷新瀏覽器。
其次,檢查您的主機,確保您的服務器沒有發生中斷,或者正在進行計劃維護。 檢查主機的服務狀態頁面和電子郵件收件箱,看看您是否已收到問題通知。
如果您沒有運行更新並且您的主機沒有表明其服務器有問題,您可以開始執行以下故障排除步驟。
- 停用插件
- 切換到默認主題
- 禁用內容分發網絡
- 停用 WordPress 心跳 API
- 啟用 wp_debug 模式
- 升級您的託管計劃
停用插件
編碼錯誤的插件可能是 WordPress 中 503 錯誤的根源。 要檢查這一點,您將禁用所有插件並嘗試識別流氓插件。
由於您無法訪問 wp-admin,因此您需要使用 FTP 客戶端來訪問插件目錄(或 cPanel 文件管理器等工具)。
使用 FTP 連接到您的主目錄。 主目錄通常稱為以下目錄之一:
- 公共_html
- 萬維網
- html
- 民眾
- 您網站的名稱
從主目錄導航到wp-content
目錄並找到plugins
目錄。
右鍵單擊該目錄並使用重命名功能將其重命名為plugins_old
。
現在您已經更改了目錄名稱,所有插件都將被停用。 檢查您的網站,查看 503 服務不可用錯誤是否仍然存在。
如果錯誤已經消失,則很可能是您的某個插件造成的。
要確定有問題的插件,請按照下列步驟操作:
- 將plugins_old目錄更改回plugins 。
- 導航到插件文件夾。
- 從列表中的第一個插件開始,重命名插件文件夾,例如,將antispam-bee更改為antispam-bee-test 。
- 檢查您的網站是否有 503 錯誤。 如果出現,您就知道哪個插件導致了錯誤。
現在,您需要保持該插件處於停用狀態並尋找替代方案。
切換到默認主題
503 錯誤的另一個可能來源是您的主題。 要測試這一點,您可以將站點切換到 WordPress 加載的默認主題之一,例如“二十二三”。
不幸的是,您不能使用與插件相同的技巧並重命名主題文件夾。 如果這樣做,WordPress 將拋出錯誤,指出The theme directory "[theme-name]" does not exist
。
相反,您需要使用phpMyAdmin訪問 WordPress 數據庫,並在那裡更改活動主題。
⚠️注意–我們假設您的網站上仍然安裝了默認的二十二三主題。 如果您刪除了默認主題,您可能需要首先使用 FTP 安裝它 – 您可以手動將主題文件夾上傳到站點的wp-content/themes
文件夾。
通過主機控制面板登錄 phpMyAdmin,然後查找wp_options
表。 根據您的主機,它可能具有與wp_
不同的前綴 - 例如wpcz_options
。
單擊搜索鏈接並在表中搜索 option_name 字段中的單詞template
。
您應該得到一個結果。 雙擊 option_value(本例中為 genesis)並將主題重命名為二十二三。
完成後應該是這樣的:
對stylesheet
option_name 重複相同的步驟。
現在您已經更新了活動主題,請訪問站點的前端以查看 503 服務不可用錯誤是否仍然存在。
如果錯誤似乎已清除,則問題很可能是您的主題造成的。
如果您可以選擇永久更改主題,請隨意這樣做。 否則,請聯繫您的主題提供商並向他們報告 503 錯誤。
最近可能有主題更新導致了錯誤,因此您可以恢復到主題的早期版本。 或者您可以下載修復該錯誤的更新版本。
禁用內容交付網絡(如果您正在使用)
如果您不使用 CDN,請跳過此步驟。 如果您是,請繼續閱讀。
有時 CDN 可能是 WordPress 中 503 錯誤的根源。 為了測試這一點,您的 CDN 應該有暫停服務的方法。 在 Cloudflare 上,您可以在“快速操作”菜單的“高級操作”部分中找到此選項,該菜單位於“概述”屏幕的右側(向下滾動即可看到)。
如果暫停 CDN 解決了問題,您可能不想長期禁用 CDN,因此請聯繫您的提供商尋求幫助。
停用 WordPress 心跳 API
WordPress 心跳 API 控制 WordPress 上的幾個基本功能。 例如,以下動作是心跳控制的:
- 自動保存帖子
- 鎖定編輯器以防止兩個用戶同時編輯同一篇文章
- 儀表板通知
心跳 API 將脈衝從客戶端發送到服務器,使用 AJAX 進行通信。 使用的文件是/wp-admin/admin-ajax.php。 這會導致向服務器發出大量請求,如果您使用共享主機且資源有限,這可能會成為問題。
要查看 WordPress 心跳 API 是否導致 WordPress 中出現 503 錯誤,您可以通過向活動主題的functions.php 文件添加一些代碼來臨時禁用它。
使用 FTP 編輯器訪問您的主題目錄。 右鍵單擊您的functions.php文件進行編輯(您可能希望先進行備份)。
在初始的後面添加以下代碼
add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat') }
保存對文件的更改,然後嘗試再次訪問您的網站以查看 503 錯誤是否仍然存在。 如果它消失了,您就知道是心跳 API 造成的。
不幸的是,禁用心跳 API 將停止許多有用的功能,因此最好限制心跳。 您可以使用心跳控制插件來執行此操作。 請記住首先從functions.php 中刪除禁用心跳的代碼。
啟用 wp_debug 模式
調試模式內置於 WordPress 中,作為排除錯誤的一種方法。 默認情況下未啟用它,因此您需要一些代碼來激活它。
使用 FTP 客戶端訪問wp-config.php文件。 編輯它並向其中添加以下代碼行:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
保存並重新上傳文件。
現在在您的 wp-content 目錄中查找名為debug.log的文件。 這會記錄在您網站上發現的所有錯誤。 日誌文件告訴您哪個文件導致每個錯誤以及負責的代碼行。 debug.log 文件不會告訴您導致 WordPress 中出現 503 錯誤的原因,但它會為您提供下一步查看位置的線索。
您還可以查找 Web 服務器的調試日誌,通常可以在此處找到:
- 阿帕奇:/var/log/apache2/error.log
- Nginx:/var/log/nginx/error.log
如果需要,請聯繫您的託管提供商以獲取解釋日誌文件的更多幫助。
升級您的託管計劃
如果您無法查明 503 錯誤的根源,但懷疑是您的託管造成的,您可能需要考慮升級您的託管計劃。 這尤其適用於以下幾種情況:
- 您正在使用共享主機,並且您的服務器資源正在超支。
- 您的網站越來越受歡迎,您的流量也隨之增加。
如果您使用共享託管,可能是時候考慮託管託管了。 與您的託管提供商討論升級您的計劃。 在某些情況下,您可能希望完全切換網絡主機。
👉 請參閱我們最好的網絡託管指南,了解我們對不同類型的託管的建議。
永久修復 WordPress 中的 503 錯誤 🎯
如果您在 WordPress 中看到 503 錯誤,請不要驚慌。 故障排除步驟為:
- 停用插件
- 切換到默認主題
- 如果使用則禁用 CDN
- 停用 WordPress 心跳 API
- 啟用 wp_debug 模式
- 升級您的託管計劃
📌 希望這些步驟能夠幫助您發現 503 錯誤的根源並結束您的痛苦。