HTTP 500 內部伺服器錯誤:如何在 WordPress 中修復它
已發表: 2024-05-06遇到「500 內部伺服器錯誤」可能會令人沮喪,因為它實際上並沒有告訴您出了什麼問題。
也稱為“http 錯誤 500”,它可能是由多種因素引起的,例如 WordPress 外掛程式或主題之間的衝突、達到 PHP 記憶體限制、損壞的.htaccess檔案、伺服器配置錯誤或不正確的檔案和目錄權限等。
在本文中,我將幫助您找出 WordPress 網站上錯誤的確切原因並指導您修復它。
500內部伺服器錯誤的常見原因
基本定義:
- 「HTTP」是指用於客戶端(您的瀏覽器)和網路伺服器之間通訊的協定。
- 「500」是表示伺服器內部錯誤的狀態代碼。
因此,「HTTP 500內部伺服器錯誤」整體上顯示瀏覽器與網路伺服器之間的通訊過程中出現了意外的錯誤,且問題源自於伺服器端。 不過,您的伺服器可能沒有任何問題,所以不用擔心。
至於錯誤的真正原因,可能是由於以下任一問題導致的:
- 編碼不當的外掛程式或主題可能會導致與其他外掛程式和主題發生衝突,從而觸發錯誤;
- PHP記憶體限制耗盡導致資源密集型操作提前終止;
- 由於不正確的配置或語法錯誤, .htaccess檔案(WordPress 的核心檔案)損壞可能會破壞伺服器正確處理請求的能力,從而導致 500 錯誤;
- 更改的檔案權限可能會導致伺服器在存取滿足請求所需的檔案或目錄時遇到問題,從而觸發錯誤;
- 在極少數情況下,瀏覽器不相容可能會導致網站在一種瀏覽器上正常打開,而在另一種瀏覽器上拋出錯誤。
現在我們已經解決了常見原因,讓我們看看消除此錯誤的最佳方法:
如何修復網站上的 500 內部伺服器錯誤
處理網站上的內部伺服器錯誤肯定會帶來糟糕的一天,但希望我們能立即解決它!
如果您在自己的網站(運行 WordPress)上遇到該錯誤,請按照以下方法消除該錯誤:
1.清除瀏覽器快取
快取是將網站資料儲存在使用者瀏覽器中以便更快存取的過程。 透過取得最常存取的網站資料並將其放入快取中,後續對網站的存取可以繞過某些耗時的過程,例如從伺服器檢索資料或渲染複雜的頁面元素。 這會帶來更快的頁面載入速度和更好的使用者體驗。
快取的最大缺點是它最終可能會向訪客顯示過時的內容。 因此,您正在瀏覽的網站上顯示的 500 錯誤可能是該網站的快取版本。 該錯誤可能是臨時故障,可能已自動刪除。
這就是為什麼清除瀏覽器快取是「修復」500 內部伺服器錯誤的最簡單且通常也是最有效的步驟。 我說的是在引號中修復它,因為您實際上並沒有修復它 - 您只是刷新自己的瀏覽器,以便您可以訪問該網站而不會出現錯誤。
以下是如何清除最受歡迎的網頁瀏覽器中的快取。
2.查看調試日誌
偵錯日誌是一個內建的 WordPress 工具,其中包含有關 WordPress 網站上發生的錯誤和警告的詳細資訊。
您網站的調試日誌應包含有關“HTTP 500 內部伺服器錯誤”的詳細信息,並且可以向您指出錯誤的來源。 知道原因就成功了一半。
預設情況下,WordPress 偵錯日誌處於關閉狀態,以防止向訪客顯示潛在的敏感資訊。 您需要先將其打開。
由於內部伺服器錯誤顯示在您的網站上,您不太可能存取 WordPress 儀表板。 因此,您需要到網站後端在wp-config.php檔案中插入一段程式碼並啟用偵錯日誌。
您可以透過 FTP 或透過您的託管帳戶連接到您的網站來執行此操作。 若要使用 FTP,請閱讀本指南。 下面,我將向您展示如何使用託管帳戶上提供的工具。
登入您的主機設定檔/帳戶並尋找cPanel連結 - 這是大多數網站主機使用的主機管理面板。 到達那裡後,轉到檔案總管:
在檔案總管中,選擇public_html資料夾,然後找到wp-config .php檔案。
右鍵單擊該文件並選擇編輯選項。 該文件將在不同的頁面上開啟。
向下捲動到設定檔的末尾,並將以下程式碼貼到此行之前: /* That's all, stop editing! Happy blogging. */
/* That's all, stop editing! Happy blogging. */
/* That's all, stop editing! Happy blogging. */
:
define( 'WP_DEBUG', true); define( 'WP_DEBUG_LOG', true);
儲存變更並退出文件。
接下來,到public_html → wp-content → debug.log 。
右鍵單擊並選擇“開啟”選項來開啟檔案。
尋找 500 內部伺服器錯誤記錄並仔細閱讀錯誤的詳細資訊。
如果您找到了真正的原因,請跳到以下部分中的相關解決方案。 如果沒有,那就開始一一實施以下解決方案。
3. 停用插件
開啟您的託管帳戶並前往cPanel → 檔案管理器 → public_html → wp-content → 外掛程式。
右鍵單擊插件資料夾,選擇重新命名,然後將該資料夾重命名為“plugins-off ”。 它將停用所有插件。
停用將有助於檢查插件衝突是否導致錯誤。 如果您在網站上不再看到錯誤,則證實了插件衝突理論。
接下來,恢復資料夾的原始名稱以重新啟動所有外掛程式。 這將導致錯誤返回。 不用擔心。
打開插件資料夾並開始一一停用插件 - 單獨更改每個插件資料夾的名稱。 每次停用插件時,請檢查錯誤是否消失。 在某些時候,錯誤將被刪除,您將知道您剛剛停用的插件導致了該錯誤。
右鍵單擊插件資料夾並選擇刪除選項來刪除該插件。
4. 停用您的主題
若要停用目前主題,您需要切換到其他主題。 我建議切換到您網站上應該已經存在的預設 WordPress 主題 - 它可能只是處於停用狀態。
為此,請使用主機控制面板中的 phpMyAdmin(或主機使用的任何工具)連接到資料庫。 進入後,選擇 WordPress 資料庫並在右側選單中找到wp_options (可能有不同的前綴)表。
開啟表格,然後按一下螢幕頂部導覽功能表中的「搜尋」 。 在與option_name列對應的值欄位中輸入「 template」 ,然後按一下Go 。
這將從wp_options表中傳回單一條目。 該條目告訴 WordPress 使用哪個主題; 在我們的範例中,主題是二十。
雙擊option_value下的主題名稱,您可以將其變更為其他名稱。 這需要是網站上安裝的主題,否則您將遇到更多錯誤。
大多數網站的一些安全選擇是預設主題選項,例如二十二三或二十二。 完成後,檢查您的網站以查看 500 內部伺服器錯誤是否仍然存在。
5.重新上傳核心文件
前往 wordpress.org 並在本機上下載最新版本的 WordPress。 接下來,解壓縮檔案(這很重要)。
返回您的託管帳戶,然後再次進入cPanel → 檔案管理器 → public_html 。 點擊“上傳”上傳新的 WordPress 資料夾。
您將收到通知,您將覆蓋這些文件。 這沒關係——這正是我們想要的。 授予權限並讓新檔案上傳。
該過程需要幾秒鐘才能完成。 檢查500錯誤是否消失。
6.重新產生.htaccess文件
若要重新產生.htaccess文件,請前往public_html → .htaccess 。 右鍵單擊該文件,然後按一下“下載”按鈕,將現有文件下載到本機作為備份。
再次右鍵單擊並點擊刪除按鈕以刪除該檔案。
點擊螢幕頂部工具列中的+ 檔案圖示。 在新檔案名稱輸入欄位中輸入「 .htaccess 」 。
按一下「建立新檔案」 。 右鍵單擊新建立的文件進行編輯。 新增以下程式碼:
# BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
上面的程式碼來自 WordPress 使用的.htaccess檔案的官方範本。
在關閉視窗之前儲存文件。
7.增加PHP記憶體限制
PHP 是一種允許您的 WordPress 網站運行的程式語言。 所有導致內容顯示在您的網站上的操作都是 PHP 操作(我稍微簡化了一下)。
這些 PHP 操作通常需要一些時間和記憶體來執行。 但是,如果您的伺服器沒有為這些操作分配足夠的資源,您可能會看到 500 內部伺服器錯誤。
在許多情況下,增加記憶體限制是修復錯誤的好方法。
您可以從託管面板執行此操作。 導航回cPanel執行所需操作。
在 cPanel 中,尋找名為PHP Version或PHP Selector 的選項。 該名稱可能因主機而異。 例如,在 Namecheap 上,您應該尋找的選項稱為Select PHP Version 。
接下來,輸入PHP Options或Options 。
在那裡,您可以更改memory_limit旁邊的值。 只需選擇比您目前選擇的值高一級的值即可。
請記得點擊「儲存」按鈕。
8. 向您的託管提供者尋求協助
什麼都沒起作用? 也許是時候聯絡您的託管提供者並尋求協助了。
告訴他們您為消除錯誤所採取的所有步驟。 您的主機服務提供者應該還有更多的技巧。
關於500內部伺服器錯誤的結論
此錯誤是您在 WordPress 網站上遇到的最令人沮喪的錯誤之一。
它不會告訴您為什麼會發生這種情況,如何處理它,而且有許多原因可能會觸發它。
由於錯誤的確切原因總是稍縱即逝,因此您可以一一嘗試以下解決方案,看看哪一種可以消除錯誤:
- 清除瀏覽器快取
- 檢查 WordPress 偵錯日誌
- 停用外掛和主題
- 重新上傳核心 WordPress 文件
- 重新產生.htaccess文件
- 增加 PHP 記憶體限制
如果沒有任何效果,最好直接向您的主機提供者尋求協助。
如果您對「HTTP 500 內部伺服器錯誤」有任何疑問,請在下面的評論部分告訴我們。