本文主要介紹訪問云虛擬主機上的網站時提示“Internal Server Error”報錯的原因和解決方案。
問題描述
Linux操作系統云虛擬主機:訪問該主機上的網站時提示“Internal Server Error”相關報錯,具體信息如下所示:
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, *** and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log.
說明如果Linux操作系統云虛擬主機上安裝了WordPress網站后,修改WordPress網站中主題的某些變量時,也會出現上述報錯信息。
Windows操作系統云虛擬主機:訪問該主機上的網站時提示“Internal Server Error”相關報錯,具體信息如下所示:
問題一:“HTTP 錯誤 500.19 - Internal Server Error”報錯信息
問題二:“HTTP 錯誤 500.0 - Internal Server Error”報錯信息
問題三:“HTTP 錯誤 500.22 - Internal Server Error”報錯信息
問題原因
針對Linux操作系統云虛擬主機,該主機上網站出現上述問題的可能原因如下所示:
針對Windows操作系統云虛擬主機,該主機上網站出現上述問題的可能原因如下所示:
解決方案
請根據實際場景原因,選擇對應的解決方案。
.htaccess
文件寫入錯誤的代碼
.htaccess
文件介紹
.htaccess
文件是普通版Linux操作系統云虛擬主機的一個配置文件,其主要負責相關目錄下的網頁配置。通過
.htaccess
文件,您可以完成網頁的301重定向、自定義404錯誤頁面、改變文件擴展名、允許或阻止特定用戶訪問網站、禁止目錄列表、配置默認文檔等功能。.htaccess
文件以半角句號(.)開頭,在Linux操作系統主機中屬于隱藏文件,可以通過FTP工具設置顯示隱藏文件進行查看,具體操作,請參見如何顯示FTP軟件的文件列表中的隱藏文件。
解決方法
如果.htaccess
文件中添加了一些與源文件沖突的代碼,會導致網站訪問報錯。建議您將上傳到主機中的.htaccess
文件進行備份(下載后保存在本地主機),再刪除該文件,然后重新訪問網站。具體操作,請參見使用文件管理器管理文件。
文件權限設置錯誤
系統中目錄和文件權限默認為755,而圖片、文字等HTML文件的權限應該為644。上傳的文件出現500報錯后,建議檢查文件權限,您可以通過FTP工具修改相關權限。具體操作,請參見Linux操作系統云虛擬主機如何修改文件目錄權限。
PHP文件配置錯誤
本步驟以WordPress網站為例,訪問該網站后出現“Internal Server Error”報錯,請參考以下步驟解決問題。
將
./wp-includes/class-http.php
文件進行備份。修改
./wp-includes/class-http.php
文件中的以下內容。修改前:
$request_order = apply_filters('http_api_transports', array('curl','streams'),$args,$url);
修改后:
$request_order = apply_filters('http_api_transports',array('streams'),$args,$url);
將上述步驟中更新好的
./wp-includes/class-http.php
文件同步到wp-includes
文件夾中。重新訪問WordPress網站,確認正常訪問即可。
PHP版本過低
本步驟以WordPress網站為例,云虛擬主機安裝網站時,在配置數據庫或修改WordPress網站中主題的某些變量后提示“Internal Server Error”,此問題是由于PHP版本過低導致,請參考以下步驟解決問題。
- 登錄云虛擬主機管理頁面。
- 找到待操作的云虛擬主機,單擊對應操作列下的管理。
在左側導航欄,選擇高級環境設置>PHP版本設置。
確認PHP版本是否滿足業務要求。
如果PHP版本存在問題,選擇對應的低版本即可,單擊保存設置,然后單擊確認。
確認可以正常訪問WordPress網站,且成功修改主題。
服務器資源超載
服務器資源超載表示同一時間內處理器有較多進程需要處理。關于如何處理CPU使用率較高的問題,具體操作,請參見:
.net Framework版本不匹配
如果您的網站基于Asp.net,您可以根據網站開發時使用的程序版本調整主機對應.net Framework版本來解決該問題。
- 登錄云虛擬主機管理頁面。
- 找到待操作的云虛擬主機,單擊對應操作列下的管理。
在左側導航欄,選擇高級環境設置>.net版本設置。
確認.net FrameWork版本是否滿足網站程序版本需求。
如果.net FrameWork版本與網站程序版本不匹配,選擇對應的匹配版本即可,單擊保存設置,然后單擊確認。
請耐心等待生效,確認能正常訪問即可。
Windows操作系統的主機環境不支持基于PHP網站
網站程序為Linux系統的Apache程序時,該網站在Linux操作系統主機上運行正常,遷移到Windows操作系統主機后卻無法正常訪問,原因是Windows操作系統的主機環境不支持運行基于PHP的網站。解決該問題的方案如下所示:
建議更換遷移的目標云虛擬主機為Linux操作系統云虛擬主機,使其滿足PHP網站配置環境。具體操作,請參見更改主機操作系統。
上傳完善的ASP站點代碼程序到Windows操作系統的云虛擬主機上。
ASP站點程序代碼需要您的網站程序開發人員具體完善。
IIS程序池的.net FrameWork版本不是經典模式
您可以通過云虛擬主機控制臺將IIS(Internet Information Services)程序池的.net FrameWork版本設置為經典模式版本。操作如下所示:
- 登錄云虛擬主機管理頁面。
- 找到待操作的云虛擬主機,單擊對應操作列下的管理。
在左側導航欄,選擇高級環境設置>.net版本設置。
選擇.net FrameWork版本為經典模式版本,單擊保存設置,然后單擊確認。
請耐心等待生效,確認能正常訪問即可。