php出現500錯誤的原因:1、PHP程序有語法錯誤,只要把報錯信息暴露出來,再根據信息解決問題即可;2、磁盤空間不足,沒有足夠空間讀寫數據而導致500報錯。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
對于http請求報錯狀態碼為500,通常解釋是:表示服務器遇到錯誤,無法完成請求(即服務器內部錯誤),但具體問題還要具體分析,下面說下一些500問題及處理方案。
一、PHP程序語法錯誤導致
場景一:我們項目設置有報警監控(定時每隔10分鐘訪問一下網站的一個固定鏈接),曾經有段時間,每天都會收到兩三次報500錯誤的郵件,但當自己再手動訪問時卻訪問正常…
這應該是最常見的錯誤了,語法錯誤也能很快復現,只要把報錯信息暴露出來即可根據問題立馬解決。
如果是在本地或測試環境,通常我們是這么處理的,在程序入口中設置輸出報錯信息即可:
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'; //目錄不存在就創建 if (!is_dir($error_dir)){ mkdir($error_dir, 0777, true); } //文件不存在就創建之 if(!file_exists($error_file)){ $fp = fopen($error_file, 'w+'); if($fp){ fclose($fp); } } //設置錯誤輸出文件 ini_set("error_log", $error_file); //程序正常執行邏輯......
二、磁盤滿了導致
場景二:上傳圖片,一直報錯500。
因磁盤空間不足,沒有足夠空間讀寫數據而導致的500報錯極不常見,且不易及時發現。通常遇到500問題,很快想到的是程序錯誤,其實還有可能是磁盤空間不足了,如果在程序上為找到任何問題,可以查看下是否是磁盤空間不足問題哦~
df -h
查看磁盤空間占用情況
推薦學習:《PHP視頻教程》