在 PHP 開發中,正確配置錯誤報告機制至關重要。透過 error_reporting 指令可控制回報的錯誤類型:
error_reporting = E_ALL:回報所有錯誤、警告與提示error_reporting = E_ALL & ~E_WARNING:回報所有錯誤但隱藏警告訊息也可在程式碼中動態設定:
ini_set("error_reporting", E_ALL);
讀取 php.ini 設定值可使用 ini_get() 函數,例如:
ini_get("upload_max_filesize");
開發階段:啟用完整錯誤回報,便於即時除錯。
生產環境:絕不可直接輸出錯誤到瀏覽器,應設定 display_errors = Off,改將錯誤寫入日誌檔案,避免洩露敏感資訊。
error_reporting = E_ALLdisplay_errors = Offlog_errors = Onerror_log = /var/log/php_errors.log(需確保 PHP 進程有寫入權限)error_log = syslog,將錯誤導向作業系統 syslog 服務生產環境建議搭配 log_errors_max_len 限制單行長度、ignore_repeated_errors 避免重複日誌擋版,並定期輪轉日誌檔案,確保錯誤追蹤不影響系統效能。