新聞中心

可怕的500內(nèi)部服務(wù)器錯(cuò)誤(500 Internal Server Error)。它似乎總是在最不合時(shí)宜的時(shí)候出現(xiàn),而您突然之間爭(zhēng)先恐后地想辦法讓您的wordpress網(wǎng)站重新上線。相信我們,我們都去過(guò)那里。您可能還見(jiàn)過(guò)的其他行為類似的錯(cuò)誤包括建立數(shù)據(jù)庫(kù)連接錯(cuò)誤和可怕的死亡白屏。但是從您的網(wǎng)站出現(xiàn)故障的那一刻起,您就會(huì)失去訪問(wèn)者和客戶。更不用說(shuō)它看起來(lái)對(duì)您的品牌不利。
今天,我們將深入探討500內(nèi)部服務(wù)器錯(cuò)誤,并引導(dǎo)您通過(guò)一些方法讓您的網(wǎng)站快速恢復(fù)在線。閱讀下面的更多信息,了解導(dǎo)致此錯(cuò)誤的原因以及您可以采取哪些措施來(lái)防止將來(lái)出現(xiàn)此錯(cuò)誤。
- 什么是500內(nèi)部服務(wù)器錯(cuò)誤?
- 如何修復(fù)500內(nèi)部服務(wù)器錯(cuò)誤
500內(nèi)部服務(wù)器錯(cuò)誤(最常見(jiàn)的原因):
WordPress中的500內(nèi)部服務(wù)器錯(cuò)誤可能由多種原因引起。如果您遇到這種情況,很有可能是以下一個(gè)(或多個(gè))因素導(dǎo)致了問(wèn)題:
- 瀏覽器緩存。
- 數(shù)據(jù)庫(kù)登錄憑據(jù)不正確。
- 損壞的數(shù)據(jù)庫(kù)。
- WordPress安裝中的文件損壞。
- 您的數(shù)據(jù)庫(kù)服務(wù)器的問(wèn)題。
- 損壞的WordPress核心文件。
- 第三方插件和主題的問(wèn)題。
- 第三方插件的PHP超時(shí)或致命的PHP錯(cuò)誤。
- 錯(cuò)誤的文件和文件夾權(quán)限。
- 您的服務(wù)器上已用盡的PHP內(nèi)存限制
- 損壞的.htaccess 文件。
- CGI和 Perl腳本錯(cuò)誤。
什么是500內(nèi)部服務(wù)器錯(cuò)誤?
IETF將500內(nèi)部服務(wù)器錯(cuò)誤定義為:
500(內(nèi)部服務(wù)器錯(cuò)誤)狀態(tài)代碼表示服務(wù)器遇到了阻止其完成請(qǐng)求的意外情況。
當(dāng)您訪問(wèn)網(wǎng)站時(shí),您的瀏覽器會(huì)向托管該網(wǎng)站的服務(wù)器發(fā)送請(qǐng)求。服務(wù)器接受此請(qǐng)求,對(duì)其進(jìn)行處理,然后將請(qǐng)求的資源(PHP、HTML、CSS 等)連同HTTP標(biāo)頭一起發(fā)回。HTTP還包括他們所謂的HTTP狀態(tài)代碼。狀態(tài)代碼是一種通知您請(qǐng)求狀態(tài)的方式。它可能是200狀態(tài)代碼,表示“一切正常”或500狀態(tài)代碼,表示出現(xiàn)問(wèn)題。
有很多不同類型的500個(gè)狀態(tài)錯(cuò)誤代碼(500的501,502,503,504等),都意味著不同的東西。在這種情況下,500內(nèi)部服務(wù)器錯(cuò)誤表示服務(wù)器遇到了阻止其完成請(qǐng)求的意外情況 (RFC7231,第 6.6.1 節(jié))。
WordPress網(wǎng)站遭遇500內(nèi)部服務(wù)器錯(cuò)誤
500內(nèi)部服務(wù)器錯(cuò)誤變體
由于Web服務(wù)器、操作系統(tǒng)和瀏覽器的不同,500內(nèi)部服務(wù)器錯(cuò)誤可能會(huì)以多種不同的方式出現(xiàn)。但他們都在傳達(dá)同樣的事情。以下只是您可能在網(wǎng)絡(luò)上看到的眾多不同變體中的幾個(gè):
-
- “500 Internal Server Error”
- “HTTP 500”
- “Internal Server Error”
- “HTTP 500 – Internal Server Error”
- “500 Error”
- “HTTP Error 500”
- “500 – Internal Server Error”
- “500 Internal Server Error. Sorry something went wrong.”
- “500. That’s an error. There was an error. Please try again later. That’s all we know.”
- “The website cannot display the page – HTTP 500.”
- “Is currently unable to handle this request. HTTP ERROR 500.”
您可能還會(huì)看到此消息隨附:
服務(wù)器遇到內(nèi)部錯(cuò)誤或配置錯(cuò)誤,無(wú)法完成您的請(qǐng)求。請(qǐng)聯(lián)系服務(wù)器管理員webmaster@domain.com并告知他們錯(cuò)誤發(fā)生的時(shí)間,以及您可能執(zhí)行的任何可能導(dǎo)致錯(cuò)誤的操作。服務(wù)器錯(cuò)誤日志中可能提供有關(guān)此錯(cuò)誤的更多信息。
內(nèi)部服務(wù)器錯(cuò)誤
其他時(shí)候,您可能只會(huì)看到一個(gè)空白的白色屏幕。在處理500內(nèi)部服務(wù)器錯(cuò)誤時(shí),這實(shí)際上在Firefox和Safari等瀏覽器中很常見(jiàn)。
Firefox中的500內(nèi)部服務(wù)器錯(cuò)誤
大品牌甚至可能有自己的自定義500內(nèi)部服務(wù)器錯(cuò)誤消息,例如來(lái)自Airbnb的這條消息。
Airbnb 500內(nèi)部服務(wù)器錯(cuò)誤
這是來(lái)自readme的另一個(gè)創(chuàng)造性的500服務(wù)器錯(cuò)誤示例。
readme網(wǎng)站500內(nèi)部服務(wù)器錯(cuò)誤
即使是強(qiáng)大的YouTube也無(wú)法避免500內(nèi)部服務(wù)器錯(cuò)誤。
YouTube上的500內(nèi)部服務(wù)器錯(cuò)誤
如果它是IIS 7.0 (Windows) 或更高版本的服務(wù)器,它們有額外的HTTP狀態(tài)代碼來(lái)更準(zhǔn)確地指示500錯(cuò)誤的原因:
- 500.0 – 發(fā)生模塊或ISAPI錯(cuò)誤。
- 500.11 – Web服務(wù)器上的應(yīng)用程序正在關(guān)閉。
- 500.12 – 應(yīng)用程序正忙于在Web服務(wù)器上重新啟動(dòng)。
- 500.13 – Web服務(wù)器太忙。
- 500.15 – 不允許直接請(qǐng)求global.asax。
- 500.19 – 配置數(shù)據(jù)無(wú)效。
- 500.21 – 無(wú)法識(shí)別模塊。
- 500.22 – ASP.NET httpModules配置不適用于托管管道模式。
- 500.23 – ASP.NET httpHandlers配置不適用于托管管道模式。
- 500.24 – ASP.NET模擬配置不適用于托管管道模式。
- 500.50 – 在RQ_BEGIN_REQUEST通知處理期間發(fā)生重寫(xiě)錯(cuò)誤。發(fā)生配置或入站規(guī)則執(zhí)行錯(cuò)誤。
- 500.51 – 在GL_PRE_BEGIN_REQUEST通知處理期間發(fā)生重寫(xiě)錯(cuò)誤。發(fā)生全局配置或全局規(guī)則執(zhí)行錯(cuò)誤。
- 500.52 – 在RQ_SEND_RESPONSE通知處理期間發(fā)生重寫(xiě)錯(cuò)誤。發(fā)生出站規(guī)則執(zhí)行。
- 500.53 – 在RQ_RELEASE_REQUEST_STATE通知處理期間發(fā)生重寫(xiě)錯(cuò)誤。發(fā)生出站規(guī)則執(zhí)行錯(cuò)誤。該規(guī)則配置為在輸出用戶緩存更新之前執(zhí)行。500.100 – 內(nèi)部ASP錯(cuò)誤。
500錯(cuò)誤對(duì)SEO的影響
與503錯(cuò)誤不同,后者用于WordPress維護(hù)模式并告訴Google稍后再檢查,如果不立即修復(fù),500錯(cuò)誤可能會(huì)對(duì)SEO產(chǎn)生負(fù)面影響。如果您的網(wǎng)站僅關(guān)閉了10分鐘,并且它一直被抓取很多次,則抓取工具只會(huì)從緩存中獲取頁(yè)面?;蛘吖雀枭踔量赡軟](méi)有機(jī)會(huì)在它備份之前重新抓取它。在這種情況下,您完全沒(méi)問(wèn)題。
但是,如果站點(diǎn)長(zhǎng)時(shí)間關(guān)閉,例如6個(gè)小時(shí)以上,那么Google可能會(huì)將500錯(cuò)誤視為需要解決的站點(diǎn)級(jí)別問(wèn)題。這可能會(huì)影響您的排名。如果您擔(dān)心重復(fù)500錯(cuò)誤,您應(yīng)該弄清楚為什么會(huì)發(fā)生這些錯(cuò)誤。下面的一些解決方案可以提供幫助。
如何修復(fù)500內(nèi)部服務(wù)器錯(cuò)誤
當(dāng)您在WordPress網(wǎng)站上看到500內(nèi)部服務(wù)器錯(cuò)誤時(shí),您應(yīng)該從哪里開(kāi)始進(jìn)行故障排除?有時(shí)您甚至可能不知道從哪里開(kāi)始。通常500錯(cuò)誤是在服務(wù)器本身,但根據(jù)我們的經(jīng)驗(yàn),這些錯(cuò)誤源于兩件事,第一是用戶錯(cuò)誤(客戶端問(wèn)題),第二是服務(wù)器有問(wèn)題。所以我們將深入探討兩者。
查看這些常見(jiàn)原因和修復(fù)500內(nèi)部服務(wù)器錯(cuò)誤的方法,并立即恢復(fù)運(yùn)行。
1. 嘗試重新加載頁(yè)面
這對(duì)某些人來(lái)說(shuō)似乎有點(diǎn)明顯,但是當(dāng)遇到500內(nèi)部服務(wù)器錯(cuò)誤時(shí),您應(yīng)該嘗試的最簡(jiǎn)單和首要的事情之一就是等待一分鐘左右,然后重新加載頁(yè)面(F5或Ctrl + F5)。可能是主機(jī)或服務(wù)器過(guò)載,站點(diǎn)會(huì)立即恢復(fù)。在等待期間,您也可以快速嘗試不同的瀏覽器以排除該問(wèn)題。
您可以做的另一件事是將該網(wǎng)站粘貼到downforeveryoneorjustme.com中。該網(wǎng)站會(huì)告訴您該網(wǎng)站是否已關(guān)閉或是否對(duì)您有問(wèn)題。像這樣的工具檢查從服務(wù)器返回的HTTP狀態(tài)代碼。如果它不是200“一切正常”,那么它將返回一個(gè)向下的指示。
downforeveryoneorjustme網(wǎng)站
我們還注意到,有時(shí)這會(huì)在您更新WordPress網(wǎng)站上的插件或主題后立即發(fā)生。通常這是在未正確設(shè)置的主機(jī)上。發(fā)生的事情是他們之后會(huì)遇到臨時(shí)超時(shí)。但是,事情通常會(huì)在幾秒鐘內(nèi)自行解決,因此您只需刷新即可。
2. 清除瀏覽器緩存
在深入調(diào)試站點(diǎn)之前,清除瀏覽器緩存始終是另一個(gè)很好的故障排除步驟。以下是有關(guān)如何清除各種瀏覽器中的緩存的說(shuō)明:
- 如何強(qiáng)制刷新所有瀏覽器的單個(gè)頁(yè)面
- 如何清除 Google Chrome 的瀏覽器緩存
- 如何清除 Mozilla Firefox 的瀏覽器緩存
- 如何清除 Safari 的瀏覽器緩存
- 如何清除 Internet Explorer 的瀏覽器緩存
- 如何清除 Microsoft Edge 的瀏覽器緩存
- 如何清除 Opera 的瀏覽器緩存
3. 檢查您的服務(wù)器日志
您還應(yīng)該利用您的錯(cuò)誤日志。如果您是寶塔面板客戶,則可以在寶塔面包你儀表盤的安全管理中的Web日志管理輕松查看錯(cuò)誤。這可以幫助您快速縮小問(wèn)題的范圍,特別是如果它是由您網(wǎng)站上的插件引起的。
檢查錯(cuò)誤日志中的500內(nèi)部服務(wù)器錯(cuò)誤
如果您的主機(jī)沒(méi)有日志記錄工具,您還可以通過(guò)將以下代碼添加到wp-config.php文件來(lái)啟用日志記錄來(lái)啟用WordPress調(diào)試模式:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
日志通常位于/wp-content目錄
WordPress錯(cuò)誤日志文件夾 (SFTP)
您還可以查看Apache和Nginx中的日志文件,它們通常位于此處:
- Apache: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
如果由于PHP致命錯(cuò)誤而顯示500錯(cuò)誤,您還可以嘗試啟用PHP錯(cuò)誤報(bào)告。只需將以下代碼添加到引發(fā)錯(cuò)誤的文件中即可。通常,您可以在Google Chrome DevTools的控制臺(tái)選項(xiàng)卡中縮小文件范圍。
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
您可能還需要使用以下內(nèi)容修改php.ini文件:
display_errors = on
4. 建立數(shù)據(jù)庫(kù)連接時(shí)出錯(cuò)
500內(nèi)部服務(wù)器錯(cuò)誤也可能由數(shù)據(jù)庫(kù)連接錯(cuò)誤引起。根據(jù)您的瀏覽器,您可能會(huì)看到不同的錯(cuò)誤。但無(wú)論在您的服務(wù)器日志中,兩者都會(huì)生成500 HTTP狀態(tài)代碼。
以下是“建立數(shù)據(jù)庫(kù)連接時(shí)出錯(cuò)”消息與瀏覽器相似的示例。整個(gè)頁(yè)面是空白的,因?yàn)闊o(wú)法檢索數(shù)據(jù)來(lái)呈現(xiàn)頁(yè)面,因?yàn)檫B接工作不正常。這不僅會(huì)破壞您網(wǎng)站的前端,還會(huì)阻止您訪問(wèn)WordPress儀表盤。
建立數(shù)據(jù)庫(kù)連接錯(cuò)誤示例
那么究竟為什么會(huì)發(fā)生這種情況呢?好吧,以下是一些常見(jiàn)的原因。
- 最常見(jiàn)的問(wèn)題是您的 數(shù)據(jù)庫(kù)登錄憑據(jù)不正確。您的 WordPress 站點(diǎn)使用單獨(dú)的登錄信息連接到其MySQL數(shù)據(jù)庫(kù)。
- 您的WordPress數(shù)據(jù)庫(kù)已損壞。有這么多帶有主題、插件和用戶不斷刪除和安裝它們的活動(dòng)部件,有時(shí)數(shù)據(jù)庫(kù)會(huì)損壞。這可能是由于表丟失或個(gè)別損壞,或者某些信息可能被意外刪除。
- 您的WordPress安裝中可能有損壞的文件。由于黑客,有時(shí)甚至?xí)l(fā)生這種情況。
- 您的數(shù)據(jù)庫(kù)服務(wù)器的問(wèn)題。Web主機(jī)端的許多事情可能是錯(cuò)誤的,例如數(shù)據(jù)庫(kù)因流量高峰而過(guò)載或因并發(fā)連接過(guò)多而無(wú)響應(yīng)。這實(shí)際上對(duì)于共享主機(jī)很常見(jiàn),因?yàn)樗鼈優(yōu)橥环?wù)器上的許多用戶使用相同的資源。
查看我們關(guān)于如何修復(fù)WordPress網(wǎng)站建立數(shù)據(jù)庫(kù)連接的錯(cuò)誤的深入文章。
5. 檢查你的插件和主題
第三方插件和主題很容易導(dǎo)致500內(nèi)部服務(wù)器錯(cuò)誤。很多時(shí)候,您應(yīng)該在安裝新內(nèi)容或運(yùn)行更新后立即看到錯(cuò)誤。這就是為什么我們總是建議使用暫存環(huán)境進(jìn)行更新或至少一個(gè)一個(gè)地運(yùn)行更新的原因之一。否則,如果您遇到500內(nèi)部服務(wù)器錯(cuò)誤,您會(huì)突然爭(zhēng)先恐后地找出是哪個(gè)錯(cuò)誤造成的。
解決此問(wèn)題的幾種方法是停用所有插件。請(qǐng)記住,如果您只是停用插件,您不會(huì)丟失任何數(shù)據(jù)。如果您仍然可以訪問(wèn)您的管理員,一個(gè)快速的方法是瀏覽到“插件”并從批量操作菜單中選擇“停用”。這將禁用您的所有插件。
停用所有插件
如果這解決了問(wèn)題,您將需要找到罪魁禍?zhǔn)?。開(kāi)始一一激活它們,每次激活后重新加載站點(diǎn)。當(dāng)您看到500內(nèi)部服務(wù)器錯(cuò)誤返回時(shí),您就發(fā)現(xiàn)了行為不端的插件。然后,您可以聯(lián)系插件開(kāi)發(fā)人員尋求幫助或在WordPress插件庫(kù)中發(fā)布技術(shù)支持留言。
如果您無(wú)法登錄WordPress管理盤,您可以通過(guò)FTP進(jìn)入您的服務(wù)器并將您的插件文件夾重命名為 plugins_old 之類的名稱。然后再次檢查您的網(wǎng)站。如果它有效,那么您將需要一個(gè)一個(gè)地測(cè)試每個(gè)插件。將您的插件文件夾重命名回“plugins”,然后將每個(gè)插件文件夾一一重命名,直到找到為止。您也可以先嘗試在臨時(shí)站點(diǎn)上復(fù)制此內(nèi)容。
重命名插件文件夾
始終確保您的插件、主題和WordPress核心是最新的。并檢查以確保您運(yùn)行的是受支持的PHP版本。如果結(jié)果證明與插件中的錯(cuò)誤代碼有沖突,您可能需要找技術(shù)人員協(xié)助解決問(wèn)題。
6. 重新安裝WordPress核心
有時(shí)WordPress核心文件可能會(huì)損壞,尤其是在舊站點(diǎn)上。在不影響插件或主題的情況下重新上傳WordPress核心實(shí)際上很容易。我們有一個(gè)深入的指南,其中包含5種不同的方法來(lái)重新安裝WordPress。當(dāng)然,請(qǐng)確保在繼續(xù)之前進(jìn)行備份。跳到以下部分之一:
- 如何在保留現(xiàn)有內(nèi)容的同時(shí)從WordPress儀表盤重新安裝WordPress
- 如何在保留現(xiàn)有內(nèi)容的同時(shí)通過(guò)FTP手動(dòng)重新安裝 WordPress
- 如何在保留現(xiàn)有內(nèi)容的同時(shí)通過(guò)WP-CLI手動(dòng)重新安裝 WordPress
7. 權(quán)限錯(cuò)誤
服務(wù)器上的文件或文件夾的權(quán)限錯(cuò)誤也可能導(dǎo)致發(fā)生500內(nèi)部服務(wù)器錯(cuò)誤。以下是有關(guān)WordPress中文件和文件夾權(quán)限的一些典型權(quán)限建議:
- 所有文件都應(yīng)該是644 (-rw-r–r–) 或640。
- 所有目錄都應(yīng)該是755 (drwxr-xr-x) 或750。
- 任何目錄都不應(yīng)該被賦予777,即使是上傳目錄。
- 強(qiáng)化: wp-config.php也可以設(shè)置為440或400以防止服務(wù)器上的其他用戶讀取它。
有關(guān) 更深入的解釋,請(qǐng)參閱有關(guān)更改文件權(quán)限的WordPress Codex文章 。
您可以使用FTP客戶端輕松查看您的文件權(quán)限(如下所示)。您還可以聯(lián)系您的WordPress主機(jī)支持團(tuán)隊(duì),并要求他們快速獲取文件夾和文件的GREP文件權(quán)限,以確保它們?cè)O(shè)置正確。
文件權(quán)限SFTP
8. PHP內(nèi)存限制
耗盡服務(wù)器上的PHP內(nèi)存限制也可能導(dǎo)致500內(nèi)部服務(wù)器錯(cuò)誤。您可以嘗試增加限制。請(qǐng)按照以下說(shuō)明更改cPanel、Apache、php.ini文件和wp-config.php文件中的此限制。
增加cPanel中的PHP內(nèi)存限制
如果您在使用cPanel的主機(jī)上運(yùn)行,??則可以從 UI 輕松更改此設(shè)置。在“軟件”下單擊“選擇PHP版本”。
選擇PHP版本
單擊“切換到PHP選項(xiàng)”。
文件權(quán)限SFTP
然后,您可以單擊該memory_limit屬性并更改其值。然后點(diǎn)擊“保存”。
增加cPanel中的PHP內(nèi)存限制
增加Apache中的PHP內(nèi)存限制
.htaccess文件是一個(gè)特殊的隱藏文件,其中包含可用于修改服務(wù)器行為的各種設(shè)置,一直到目錄特定級(jí)別。首先通過(guò)FTP或SSH登錄您的站點(diǎn),查看您的根目錄,看看那里是否有.htaccess文件。
.htaccess文件
如果有,您可以編輯該文件以添加必要的代碼以增加PHP內(nèi)存限制。很可能設(shè)置在64M或以下,您可以嘗試增加此值。
php_value memory_limit 128M
增加php.ini文件中的PHP內(nèi)存限制
如果上述方法對(duì)您不起作用,您可以嘗試編輯您的php.ini文件。通過(guò)FTP或SSH登錄到您的站點(diǎn),轉(zhuǎn)到站點(diǎn)的根目錄并打開(kāi)或創(chuàng)建一個(gè)php.ini文件。
php.ini文件
如果文件已經(jīng)存在,請(qǐng)搜索三個(gè)設(shè)置并在必要時(shí)修改它們。如果您剛剛創(chuàng)建了文件,或者找不到設(shè)置,您可以粘貼下面的代碼。您當(dāng)然可以修改這些值以滿足您的需要。
memory_limit = 128M
某些共享主機(jī)可能還要求您在.htaccess文件中添加 suPHP 指令以使上述php.ini文件設(shè)置生效。為此,請(qǐng)編輯.htaccess同樣位于站點(diǎn)根目錄下的文件,并將以下代碼添加到文件頂部:
suPHP_ConfigPath /home/yourusername/public_html
如果上述方法對(duì)您不起作用,則可能是您的主機(jī)鎖定了全局設(shè)置,而是將其配置為使用.user.ini文件。要編輯您的.user.ini文件, 請(qǐng)通過(guò)FTP或SSH登錄到您的站點(diǎn),轉(zhuǎn)到您站點(diǎn)的根目錄并打開(kāi)或創(chuàng)建一個(gè).user.ini文件。然后,您可以粘貼以下代碼:
memory_limit = 128M
在wp-config.php中增加PHP內(nèi)存限制
最后一個(gè)選項(xiàng),如果所有其他方法都失敗了,您可以試一試。首先,通過(guò)FTP或SSH登錄到您的站點(diǎn),然后找到您的wp-config.php文件,該文件通常位于您站點(diǎn)的根目錄中。
wp-config.php文件
將以下代碼添加到wp-config.php文件的頂部:
define('WP_MEMORY_LIMIT', '128M');
您還可以詢問(wèn)您的主機(jī)是否遇到內(nèi)存限制問(wèn)題。你也可以使用New Relic和其他故障排除方法來(lái)幫助客戶縮小可能會(huì)耗盡限制的插件、查詢或腳本的范圍。您還可以使用您自己的自定義New Relic密鑰。
使用New Relic調(diào)試
9. .htaccess文件的問(wèn)題
如果您使用的是運(yùn)行Apache的WordPress主機(jī),則很可能您的.htaccess文件有問(wèn)題或已損壞。按照以下步驟從頭開(kāi)始重新創(chuàng)建一個(gè)新的。
首先,通過(guò)FTP或SSH登錄到您的站點(diǎn),并將您的.htaccess文件重命名為.htaccess_old.
重命名 .htaccess文件
通常要重新創(chuàng)建此文件,您只需在WordPress中重新保存固定鏈接即可。但是,如果您遇到500內(nèi)部服務(wù)器錯(cuò)誤,您很可能無(wú)法訪問(wèn)您的WordPress管理員,因此這不是一個(gè)選項(xiàng)。因此,您可以創(chuàng)建一個(gè)新.htaccess文件并輸入以下內(nèi)容。然后將其上傳到您的服務(wù)器。
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
有關(guān)更多示例,請(qǐng)參閱WordPress Codex,例如multisite的默認(rèn).htaccess文件。
10. CGI/Perl腳本中的編碼或語(yǔ)法錯(cuò)誤
由CGI和Perl中的錯(cuò)誤引起的500錯(cuò)誤比以前少了很多。雖然還是值得一提的,尤其是對(duì)于那些使用cPanel的人來(lái)說(shuō),那里還有很多一鍵CGI腳本還在使用。正如Stack Overflow上的AEM所說(shuō):
CGI已經(jīng)被各種各樣的Web編程技術(shù)所取代,包括PHP、各種Apache擴(kuò)展(如mod_perl)、各種風(fēng)格的Java和框架(包括Java EE、Struts、Spring等),基于Python的框架(如Django、Ruby on Rails等)其他Ruby框架和各種Microsoft技術(shù)。
以下是使用CGI腳本時(shí)的一些提示:
- 編輯時(shí),始終使用純文本編輯器,例如Atom、Sublime或Notepad++。這確保它們保持ASCII格式。
- 確保chmod 755的正確權(quán)限用于CGI腳本和目錄。
- 將ASCII模式的CGI腳本(可以在FTP編輯器中選擇)上傳到服務(wù)器上的cgi-bin目錄中。
- 確認(rèn)您的腳本所需的Perl模塊已安裝并受支持。
11. 服務(wù)器問(wèn)題(請(qǐng)咨詢您的主機(jī))
最后,由于PHP超時(shí)或第三方插件的致命PHP錯(cuò)誤也可能導(dǎo)致500內(nèi)部服務(wù)器錯(cuò)誤,因此您可以隨時(shí)查看您的WordPress主機(jī)。有時(shí),如果沒(méi)有專家,這些錯(cuò)誤可能很難解決。以下是一些常見(jiàn)錯(cuò)誤示例,這些錯(cuò)誤會(huì)在服務(wù)器上觸發(fā)500 HTTP狀態(tài)代碼,可能會(huì)讓您摸不著頭腦。
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()... PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525
PHP超時(shí)也可能由于缺少PHP工作器而發(fā)生,盡管通常這些會(huì)導(dǎo)致504錯(cuò)誤,而不是500錯(cuò)誤。這些決定了您的站點(diǎn)在給定時(shí)間可以處理的并發(fā)請(qǐng)求數(shù)。簡(jiǎn)而言之,您網(wǎng)站的每個(gè)未緩存請(qǐng)求都由PHP Worker處理。
當(dāng)PHP工作人員已經(jīng)在站點(diǎn)上忙碌時(shí),他們開(kāi)始建立隊(duì)列。一旦達(dá)到PHP工作線程的限制,隊(duì)列就會(huì)開(kāi)始推出較舊的請(qǐng)求,這可能會(huì)導(dǎo)致500錯(cuò)誤或不完整的請(qǐng)求。
監(jiān)控您的網(wǎng)站
如果您擔(dān)心將來(lái)在您的網(wǎng)站上發(fā)生這些類型的錯(cuò)誤,您還可以使用updown.io之類的工具 來(lái)監(jiān)控并在發(fā)生時(shí)立即通知您。它會(huì)定期向您選擇的URL發(fā)送HTTP HEAD請(qǐng)求。您可以簡(jiǎn)單地使用您的主頁(yè)。該工具允許您設(shè)置以下檢查頻率:
- 15 秒
- 30秒
- 1分鐘
- 2分鐘
- 5分鐘
- 10分鐘
如果您的網(wǎng)站出現(xiàn)故障,它會(huì)向您發(fā)送一封電子郵件。下面是一個(gè)例子。
500錯(cuò)誤的電子郵件通知
如果您正在嘗試調(diào)試有問(wèn)題的插件或在共享主機(jī)上,這些主機(jī)往往會(huì)使服務(wù)器過(guò)度擁擠,這將特別有用。這可以讓您證明您的網(wǎng)站實(shí)際上可能關(guān)閉的頻率(即使是在半夜)。
小結(jié)
500內(nèi)部服務(wù)器錯(cuò)誤總是令人沮喪,但希望現(xiàn)在您知道了一些其他方法來(lái)解決這些錯(cuò)誤,以快速使您的站點(diǎn)恢復(fù)運(yùn)行。請(qǐng)記住,這些類型的錯(cuò)誤通常是由第三方插件、致命的PHP錯(cuò)誤、數(shù)據(jù)庫(kù)連接問(wèn)題、.htaccess文件或PHP內(nèi)存限制問(wèn)題以及有時(shí)PHP超時(shí)引起的。
本文標(biāo)題:如何修復(fù)WordPress網(wǎng)站500內(nèi)部服務(wù)器錯(cuò)誤
本文URL:http://www.5511xx.com/article/dhjcedj.html


咨詢
建站咨詢
