雲南雲豹網絡科技股份有限公司

爲企業創品牌·從營銷型網站建設開始·互赢懂(dǒng)技術·更懂(dǒng)品牌營銷

24小時(shí)熱(rè)線

159 7210 9576027-89992189

您的(de)位置:首頁 > 新聞資訊 > 行業百科 > 技術百科

關于HTTP500内部服務器報錯的(de)原因和(hé)修複方法

作者: 時(shí)間:2019-04-10 浏覽:

http500内部服務器錯誤似乎總是出現在最不合時(shí)宜的(de)時(shí)間,你突然想知道如何讓你的(de)WordPress網站重新上線。

今天我将深入研究http500内部服務器錯誤,并引導您完成一些方法,讓您的(de)網站快(kuài)速恢複在線狀态。

什(shén)麽是http500内部服務器錯誤?

當您訪問網站時(shí),您的(de)浏覽器會将請求發送到托管該網站的(de)服務器。服務器接受此請求,對(duì)其進行處理(lǐ),并将請求的(de)資源(PHP,HTML,CSS等)與HTTP标頭一起發回。HTTP還(hái)包括他(tā)們稱之爲HTTP狀态代碼的(de)内容。狀态代碼是一種通(tōng)知您有關請求狀态的(de)方法。它可(kě)能是200狀态代碼,表示“一切正常”或500狀态代碼,這(zhè)意味著(zhe)出現了(le)問題。

有很多(duō)不同類型的(de)500狀态錯誤代碼(500,501,502,503,504等),都意味著(zhe)不同的(de)東西。在這(zhè)種情況下(xià),http500内部服務器錯誤指示表示服務器遇到意外情況,導緻其無法履行請求。

http500内部服務器錯誤變體

由于各種Web服務器,操作系統和(hé)浏覽器,http500内部服務器錯誤可(kě)以以多(duō)種不同方式呈現。但他(tā)們都在溝通(tōng)同樣的(de)事情。以下(xià)是您可(kě)能在網絡上看到的(de)衆多(duō)不同變體中的(de)幾種:
“500内部服務器錯誤”
“HTTP 500”
“内部服務器錯誤”
“HTTP 500 – 内部服務器錯誤”
“500錯誤”
“500内部服務器錯誤”
“500内部服務器錯誤。抱歉,出了(le)一些問題。”
“500。有一個(gè)錯誤。請稍後再試。”
“該網站無法顯示該頁面 – HTTP 500。”
一個(gè)空白的(de)白色屏幕
您可(kě)能還(hái)會看到此消息:

内部服務器錯誤

服務器遇到内部錯誤或配置錯誤,無法完成您的(de)請求。請聯系服務器管理(lǐ)員(yuán)webmaster@domain.com并告知他(tā)們錯誤發生的(de)時(shí)間,以及可(kě)能導緻錯誤的(de)任何操作。服務器錯誤日志中可(kě)能提供了(le)有關此錯誤的(de)更多(duō)信息。
内部服務器錯誤
較大(dà)的(de)品牌甚至可(kě)能有自己的(de)自定義500内部服務器錯誤消息,例如來(lái)自Airbnb的(de)這(zhè)一消息。

Airbnb 500内部服務器錯誤
這(zhè)是自述文件中的(de)另一個(gè)創意500服務器錯誤示例。
自述500内部服務器錯誤

http500内部服務器錯誤對(duì)SEO的(de)影(yǐng)響

與503錯誤(用(yòng)于WordPress維護模式并告訴百度稍後再回來(lái)查看)不同,如果不立即修複,則500錯誤會對(duì)SEO産生負面影(yǐng)響。如果您的(de)網站僅停機了(le)10分(fēn)鐘(zhōng),并且它被抓取的(de)次數很多(duō)次,則抓取工具隻會從緩存中獲取頁面。或者百度可(kě)能甚至沒有機會在它恢複之前重新抓取它。在這(zhè)種情況下(xià),完全沒問題。
但是,如果網站長(cháng)時(shí)間停機(例如6個(gè)小時(shí)以上),那麽百度可(kě)能會将500錯誤視爲需要解決的(de)網站級問題。這(zhè)可(kě)能會影(yǐng)響您的(de)排名。如果你擔心重複500錯誤,你應該弄清楚它們爲什(shén)麽會開始發生。下(xià)面的(de)一些解決方案可(kě)以提供幫助。

如何修複http500内部服務器錯誤?

當您在WordPress網站上看到500内部服務器錯誤時(shí),應該從哪裏開始進行故障排除?有時(shí)你可(kě)能甚至不知道從哪裏開始。通(tōng)常500錯誤在服務器本身上,但根據我們的(de)經驗,這(zhè)些錯誤源于兩件事,第一件是 用(yòng)戶錯誤(客戶端問題),第二件是服務器出現問題。所以我們将深入研究兩者。
查看這(zhè)些常見原因以及修複500内部服務器錯誤的(de)方法,并立即恢複運行。

1.嘗試重新加載頁面

這(zhè)對(duì)某些人(rén)來(lái)說可(kě)能看起來(lái)有點明(míng)顯,但遇到500内部服務器錯誤時(shí)應該嘗試的(de)最簡單的(de)事情之一就是等待一分(fēn)鐘(zhōng)左右然後重新加載頁面(F5或Ctrl + F5)。可(kě)能是主機或服務器隻是過載而網站将立即回來(lái)。在您等待的(de)同時(shí),您還(hái)可(kě)以快(kuài)速嘗試使用(yòng)其他(tā)浏覽器來(lái)排除問題。
您可(kě)以做(zuò)的(de)另一件事是将網站粘貼到 downforeveryoneorjustme.com。本網站将告訴您網站是否已關閉或您是否有問題。像這(zhè)樣的(de)工具會檢查從服務器返回的(de)HTTP狀态代碼。如果它不是200“一切都好”,那麽它将返回一個(gè)向下(xià)指示。


我們還(hái)注意到,有時(shí)這(zhè)會在您更新 WordPress網站上的(de)插件或主題後立即發生。通(tōng)常,這(zhè)是在未正确設置的(de)主機上。發生的(de)事情是他(tā)們之後經曆了(le)臨時(shí)超時(shí)。然而,事情通(tōng)常會在幾秒鐘(zhōng)内自行解決,因此您需要做(zuò)的(de)就是刷新。

2.清除浏覽器緩存

在深入調試您的(de)網站之前,清除浏覽器緩存始終是另一個(gè)很好的(de)故障排除步驟。

3.檢查服務器日志

您還(hái)應該利用(yòng)錯誤日志。檢查錯誤日志中是否存在http500内部服務器錯誤
如果您的(de)主機沒有日志記錄工具,您還(hái)可(kě)以将以下(xià)代碼添加到wp-config.php文件以啓用(yòng)日志記錄:

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

日志通(tōng)常位于/ wp-content目錄中。

WordPress錯誤日志文件夾
您還(hái)可(kě)以檢查Apache和(hé)NGINX中的(de)日志文件,這(zhè)些文件通(tōng)常位于此處:
Apache: /var/log/apache2/error.log
NGINX: /var/log/nginx/error.log
如果由于緻命的(de)PHP錯誤而顯示500錯誤,您還(hái)可(kě)以嘗試啓用(yòng)PHP錯誤報告。隻需将以下(xià)代碼添加到抛出錯誤的(de)文件中即可(kě)。通(tōng)常,您可(kě)以在Google Chrome DevTools的(de)控制台選項卡中縮小文件範圍。

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

您可(kě)能還(hái)需要使用(yòng)以下(xià)内容修改php.ini文件:

display_errors = on

4.建立數據庫連接時(shí)出錯

數據庫連接錯誤也(yě)可(kě)能導緻http500内部服務器錯誤。根據您的(de)浏覽器,您可(kě)能會看到不同的(de)錯誤。但無論您的(de)服務器日志如何,兩者都将生成500 HTTP狀态代碼。
下(xià)面是一個(gè)“建立數據庫連接錯誤”消息的(de)示例,看起來(lái)像您的(de)浏覽器。整個(gè)頁面爲空白,因爲無法檢索數據以呈現頁面,因爲連接無法正常工作。這(zhè)不僅會破壞您網站的(de)前端,還(hái)會阻止您訪問WordPress信息中心。

建立數據庫連接時(shí)出錯的(de)示例
那麽爲什(shén)麽會發生這(zhè)種情況呢(ne)?以下(xià)是一些常見的(de)原因。
最常見的(de)問題是您的(de)數據庫登錄憑據不正确。您的(de)WordPress站點使用(yòng)單獨的(de)登錄信息連接到其MySQL數據庫。
您的(de)數據庫已損壞。由于有許多(duō)移動部件,主題,插件和(hé)用(yòng)戶不斷删除和(hé)安裝它們,有時(shí)數據庫會被破壞。這(zhè)可(kě)能是由于丢失或單獨損壞的(de)表,或者某些信息被意外删除。
您的(de)WordPress安裝中可(kě)能有損壞的(de)文件。有時(shí)甚至可(kě)能由于黑(hēi)客而發生這(zhè)種情況。
數據庫服務器的(de)問題。Web主機端可(kě)能存在許多(duō)問題,例如數據庫因流量峰值過載或者來(lái)自太多(duō)并發連接而無響應。這(zhè)實際上與共享主機相當普遍,因爲它們爲同一服務器上的(de)許多(duō)用(yòng)戶使用(yòng)相同的(de)資源。

5.檢查您的(de)插件和(hé)主題

第三方插件和(hé)主題很容易導緻500内部服務器錯誤,從滑塊插件到廣告旋轉插件。很多(duō)時(shí)候,您應該在安裝新内容或運行更新後立即看到錯誤。這(zhè)就是我們始終建議(yì)将登台環境用(yòng)于更新或至少逐個(gè)運行更新的(de)原因之一。否則,如果您遇到500内部服務器錯誤,您突然争先恐後地找出導緻它的(de)原因。
解決這(zhè)個(gè)問題的(de)一些方法是停用(yòng)所有插件。請記住,如果您隻是停用(yòng)插件,則不會丢失任何數據。如果仍然可(kě)以訪問管理(lǐ)員(yuán),快(kuài)速執行此操作的(de)方法是浏覽到“插件”并從批量操作菜單中選擇“停用(yòng)”。這(zhè)将禁用(yòng)所有插件。
如果這(zhè)解決了(le)問題,你需要找到罪魁禍首。開始逐個(gè)激活它們,每次激活後重新加載站點。當您看到500内部服務器錯誤返回時(shí),您發現了(le)行爲錯誤的(de)插件。然後,您可(kě)以聯系插件開發人(rén)員(yuán)以獲取幫助,或在WordPress存儲庫中發布支持服務單。
如果您無法訪問管理(lǐ)員(yuán),您可(kě)以FTP到您的(de)服務器并将您的(de)插件文件夾重命名爲plugins_old。然後再次檢查您的(de)網站。如果它有效,那麽您将需要逐個(gè)測試每個(gè)插件。将您的(de)插件文件夾重命名爲“plugins”,然後将其中的(de)每個(gè)插件文件夾逐個(gè)重命名,直到找到它爲止。您還(hái)可(kě)以嘗試首先在暫存站點上複制此操作。
重命名插件文件夾
始終确保您的(de)插件,主題和(hé)WordPress核心是最新的(de)。并檢查以确保您運行的(de)是受支持的(de)PHP版本。如果它與插件中的(de)錯誤代碼沖突,您可(kě)能需要引入一個(gè) WordPress開發人(rén)員(yuán) 來(lái)解決問題。

6.重新安裝WordPress Core

有時(shí),WordPress核心文件可(kě)能會損壞,尤其是在舊(jiù)網站上。實際上很容易重新上傳WordPress的(de)核心,而不會影(yǐng)響你的(de)插件或主題。

7.權限錯誤

服務器上的(de)文件或文件夾的(de)權限錯誤也(yě)可(kě)能導緻500内部服務器錯誤。以下(xià)是WordPress中文件和(hé)文件夾權限的(de)一些典型權限建議(yì):
所有文件應爲644(-rw-r-r-)或640。
所有目錄應爲755(drwxr-xr-x)或750。
不應該給777目錄,甚至上傳目錄。
強化(huà):wp-config.php也(yě)可(kě)以設置爲440或400,以防止服務器上的(de)其他(tā)用(yòng)戶讀取它。

文件權限

8. PHP内存限制

在服務器上耗盡PHP内存限制也(yě)可(kě)能導緻500内部服務器錯誤。您可(kě)以嘗試增加限制。

增加阿裏雲中的(de)PHP内存限制

如果您在使用(yòng)阿裏雲的(de)主機上運行,則可(kě)以從UI輕松更改此設置。編輯php.ini 在php.ini中,找到“memory_limit”這(zhè)一項,如果沒有,你可(kě)以在文件的(de)尾部自己增加這(zhè)個(gè)參數。memory_limit = 128M ; 可(kě)以将128M改爲任何你想設置的(de)值

增加Apache中的(de)PHP内存限制

.htaccess文件是一個(gè)特殊的(de)隐藏文件,其中包含可(kě)用(yòng)于修改服務器行爲的(de)各種設置,直到特定于目錄的(de)級别。首先 通(tōng)過FTP 或SSH 登錄您的(de)站點,查看您的(de)根目錄,看看是否有.htaccess文件。

.htaccess文件
如果有,您可(kě)以編輯該文件以添加必要的(de)代碼以增加上載限制。最有可(kě)能設置爲64M或更低,您可(kě)以嘗試增加此值。

php_value memory_limit 128M

增加php.ini文件中的(de)PHP内存限制

如果上述方法不起作用(yòng),可(kě)以嘗試編輯php.ini文件。 通(tōng)過FTP 或SSH 登錄您的(de)站點,轉到您站點的(de)根目錄并打開或創建一個(gè)php.ini文件。

php.ini文件
如果文件已存在,請搜索三個(gè)設置并在必要時(shí)進行修改。如果您剛剛創建了(le)該文件,或者無法找到設置,則可(kě)以粘貼以下(xià)代碼。您可(kě)以修改當然值以滿足您的(de)需求。
memory_limit = 128M
某些共享主機可(kě)能還(hái)需要您在.htaccess文件中添加suPHP指令才能使上述php.ini文件設置生效。要執行此操作,請編輯.htaccess位于站點根目錄的(de)文件,并在文件頂部添加以下(xià)代碼:

<IfModule mod_suphp.c> 
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>

如果以上内容對(duì)您不起作用(yòng),則可(kě)能是您的(de)主機已鎖定全局設置,而是将其配置爲使用(yòng).user.ini文件。要編輯.user.ini文件, 請通(tōng)過FTP 或SSH 登錄您的(de)站點,轉到您站點的(de)根目錄并打開或創建.user.ini文件。然後,您可(kě)以粘貼以下(xià)代碼:

memory_limit = 128M

在wp-config.php中增加PHP内存限制

如果一切都失敗了(le),你可(kě)以試一試。首先, 通(tōng)過FTP 或SSH 登錄您的(de)站點,找到您的(de)wp-config.php文件,該文件通(tōng)常位于您站點的(de)根目錄中。

wp-config.php文件
将以下(xià)代碼添加到wp-config.php文件的(de)頂部:

define('WP_MEMORY_LIMIT', '128M');

9. .htaccess文件出現問題

如果您使用(yòng)的(de)是運行Apache的(de)WordPress主機,則很可(kě)能是您的(de).htaccess文件出現問題或已損壞。按照(zhào)以下(xià)步驟從頭開始重新創建一個(gè)新步驟。
首先, 通(tōng)過FTP 或SSH 登錄您的(de)站點,并将您的(de).htaccess文件重命名爲.htaccess_old。

重命名.htaccess文件
通(tōng)常,要重新創建此文件,您隻需在WordPress中重新保存固定鏈接即可(kě)。但是,如果您處于500内部服務器錯誤的(de)中間,則很可(kě)能無法訪問您的(de)WordPress管理(lǐ)員(yuán),因此這(zhè)不是一個(gè)選項。因此,您可(kě)以創建新.htaccess文件并輸入以下(xià)内容。然後将其上傳到您的(de)服務器。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

10. CGI / Perl腳本中的(de)編碼或語法錯誤

由CGI和(hé)Perl中的(de)錯誤引起的(de)500個(gè)錯誤比以前少得(de)多(duō),對(duì)于那些使用(yòng)cPanel的(de)用(yòng)戶,其中仍然使用(yòng)了(le)大(dà)量的(de)一鍵式CGI腳本。
CGI已經被各種各樣的(de)Web編程技術所取代,包括PHP,各種Apache擴展,如mod_perl,各種風格的(de)Java和(hé)框架,包括Java EE,Struts,Spring等,基于Python的(de)框架,如Django,Ruby on Rails和(hé)許多(duō)其他(tā)Ruby框架和(hé)各種Microsoft技術。
以下(xià)是使用(yòng)CGI腳本時(shí)的(de)一些提示:
編輯時(shí),始終使用(yòng)純文本編輯器,如Atom,Sublime或Notepad ++。這(zhè)可(kě)确保它們保持ASCII格式。
确保在CGI腳本和(hé)目錄上使用(yòng)chmod 755的(de)正确權限。
将您的(de)CGI腳本以ASCII模式(可(kě)以在FTP編輯器中選擇)上傳到服務器上的(de)cgi-bin目錄中。
确認已安裝并支持腳本所需的(de)Perl模塊。

11.服務器問題(與主機核實)

最後,因爲PHP超時(shí)或第三方插件的(de)緻命PHP錯誤也(yě)可(kě)能發生500内部服務器錯誤,您可(kě)以随時(shí)查看您的(de)WordPress主機。有時(shí),如果沒有專家,這(zhè)些錯誤很難排除故障。以下(xià)是一些在服務器上觸發500個(gè)HTTP狀态代碼的(de)錯誤的(de)常見示例,這(zhè)些錯誤可(kě)能會讓您感到頭腦(nǎo)發熱(rè)。

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_Errorasarrayin/www/folder/web/shared/content/plugins/plugin/functions.php:525

PHP超時(shí)也(yě)可(kě)能因缺少PHP工作程序而發生,盡管通(tōng)常會導緻504錯誤,而不是500錯誤。這(zhè)些決定了(le)您的(de)網站在給定時(shí)間可(kě)以同時(shí)處理(lǐ)多(duō)少請求。簡而言之,您網站的(de)每個(gè)未緩存的(de)請求都由PHP工作人(rén)員(yuán)處理(lǐ)。

結論

http500内部服務器錯誤總是令人(rén)沮喪,但希望現在您知道一些方法來(lái)解決它們以快(kuài)速恢複和(hé)運行您的(de)站點。請記住,通(tōng)常這(zhè)些類型的(de)錯誤是由第三方插件,緻命的(de)PHP錯誤,數據庫連接問題,.htaccess文件問題或PHP内存限制以及有時(shí)PHP超時(shí)引起的(de)。

轉載原創文章(zhāng)請注明(míng),轉載自: https://www.simcf.cc/2870.html

最新動态

常見問題百寶箱

全國服務熱(rè)線

027-89992189

掃一掃關注微信

Copyright 2013-2020 All Rights Reserved 雲南雲豹網絡科技股份有限公司

獲取品牌營銷方案

快(kuài)速填寫

馬上獲取

互聯網低成本創名牌從此開始!