PHP 內置錯誤級別常量(部分):
E_ERROR (1) - 致命錯誤E_WARNING (2) - 警告,不中斷執行E_PARSE (4) - 編譯時解析錯誤E_NOTICE (8) - 運行時提示(如變量未初始化)E_ALL (2047) - 所有錯誤與提示E_STRICT (2048) - 代碼標準化建議數值 7 = 1+2+4,即僅顯示 E_ERROR、E_WARNING、E_PARSE。
; php.ini display_errors = Off error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED log_errors = On error_log = /var/log/php_errors.log
關鍵點:
display_errors = Off 禁止頁面輸出錯誤,避免洩露敏感信息error_reporting 排除 Notice、Strict、Deprecated,保留關鍵錯誤log_errors 並指定可寫的 error_log 路徑,否則 display_errors = Off 可能失效(錯誤仍輸出到標準輸出)若 log_errors = On 但 error_log 未設置或無寫入權限,PHP 會回退輸出到瀏覽器,導致 display_errors = Off 形同虛設。解決:關閉 log_errors 或修復日誌路徑權限。
error_reporting(E_ALL & ~E_NOTICE); // 僅影響當前腳本
ini_set('display_errors', '0');