php錯誤處理之錯誤記錄日誌
在某些公司裡面,有專門的日誌收集系統。日誌收集系統會在背後默默的幫你收集錯誤、警告、提示。
也有些公司沒有專門的日誌收集系統,透過檔案來伺服器當中的運行日誌。
其中:PHP的錯誤,警告這些是必須要收信的。
那麼問題來了-不讓使用者看到,設定好錯誤報告等級好,如何將錯誤收集到日誌系統呢?
這裡有需要使用到php.ini的相關設定項。這兩個配置項目為:
參數 | 配置項目 | 說明 |
---|---|---|
log_errors | on/off | |
log_errors_max_len | 整數型,預設1024 |
說明:
1.在表格中的log_errors和log_errors_max_len非常好理解。
2.而error_log 指定錯誤存在什麼路徑上。配置項目中的syslog可能有點不太好理解。 syslog是指系統來記錄。 windows系統在電腦的日誌收集器裡面。 linux預設在:/etc/syslog.conf
[擴充]bool error_log ( string $錯誤訊息[, int $錯誤訊息類型= 0 [, string $存儲目標]] ) | 這個函數可以把錯誤訊息傳送到web伺服器的錯誤日誌,或是到一個檔案裡。 |
---|---|
錯誤訊息類型 | |
傳送至預設的error_log指定位置 |
3
<?php //无法连接到数据库服务器,直接记录到php.ini 中的error_log指定位置 error_log("无法连接到数据库服务器服务器"); //可以发送邮件,但是php.ini必须配置过邮件系统 error_log('可以用邮件报告错误,让运维人员半夜起床干活',1 ,'pig@php.cn'); //记录在指定的位置 error_log("我是一个错误哟", 3, "d:/test/my-errors.log"); ?>###注意:## #error_log 中發送郵件可能對初學者不熟,您可以不用掌握些塊知識。 ############