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