溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php出現(xiàn)500錯誤的原因和解決方法

發(fā)布時間:2020-07-03 11:31:20 來源:億速云 閱讀:624 作者:Leah 欄目:編程語言

這期內(nèi)容當中小編將會給大家?guī)碛嘘Pphp出現(xiàn)500錯誤的原因和解決方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

 

對于http請求報錯狀態(tài)碼為500,通常解釋是:表示服務器遇到錯誤,無法完成請求(即服務器內(nèi)部錯誤),但具體問題還要具體分析,下面說下一些500問題及處理方案。

一、PHP程序語法錯誤導致

場景一:我們項目設置有報警監(jiān)控(定時每隔10分鐘訪問一下網(wǎng)站的一個固定鏈接),曾經(jīng)有段時間,每天都會收到兩三次報500錯誤的郵件,但當自己再手動訪問時卻訪問正?!?/p>

這應該是最常見的錯誤了,語法錯誤也能很快復現(xiàn),只要把報錯信息暴露出來即可根據(jù)問題立馬解決。

如果是在本地或測試環(huán)境,通常我們是這么處理的,在程序入口中設置輸出報錯信息即可:

//error_reporting設置應該報告的錯誤,下面表示除了 E_NOTICE,報告其他所有錯誤
error_reporting(E_ALL ^ E_NOTICE);
//輸出錯誤
ini_set('display_errors', 1);

但在線上環(huán)境的話,因為用戶都在用,不可能允許我們就那么赤裸裸的打印錯誤,怎么辦呢?可以在程序入口文件中設置將錯誤輸出到日志文件中,具體代碼如下:

error_reporting(E_ALL ^ E_NOTICE);
//禁止把錯誤輸出到頁面
ini_set('display_errors', 0);
//設置錯誤信息輸出到文件
ini_set('log_errors', 1);
//指定錯誤日志文件名
$error_dir = '/logs/err/';
$error_file = $error_dir . date('Ymd').'.log';
//目錄不存在就創(chuàng)建
if (!is_dir($error_dir)){
    mkdir($error_dir, 0777, true);
}
//文件不存在就創(chuàng)建之
if(!file_exists($error_file)){
    $fp = fopen($error_file, 'w+');
    if($fp){
        fclose($fp);
    }
}
//設置錯誤輸出文件
ini_set("error_log", $error_file);
//程序正常執(zhí)行邏輯......

二、磁盤滿了導致

場景二:上傳圖片,一直報錯500。

因磁盤空間不足,沒有足夠空間讀寫數(shù)據(jù)而導致的500報錯極不常見,且不易及時發(fā)現(xiàn)。通常遇到500問題,很快想到的是程序錯誤,其實還有可能是磁盤空間不足了,如果在程序上為找到任何問題,可以查看下是否是磁盤空間不足問題哦~

df -h 查看磁盤空間占用情況

上述就是小編為大家分享的php出現(xiàn)500錯誤的原因和解決方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI