PHP error_log():將錯誤資訊傳送到某個地方

2020-07-16 10:05:15
PHP error_log() 函數用來將錯誤資訊傳送到某個地方,比如系統紀錄檔、郵箱、指定檔案等,其語法如下:

bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

引數說明:
  • message 表示應該被記錄的錯誤資訊。
  • message_type 設定錯誤應該傳送到何處:
  • 0 表示將錯誤傳送到 PHP 的系統紀錄檔,這是預設選項。
  • 1 表示傳送 message 到 destination 設定的郵件地址,第四個引數 extra_headers 只有在這個型別裡才會被用到。
  • 3 表示 message 被傳送到位置為 destination 的檔案裡。
  • 4 表示將 message 直接傳送到 SAPI 的紀錄檔處理程式中。
  • destination 表示訊息被傳送的目的地,它的含義由 message_type 引數所決定。
  • extra_headers 是額外的頭,比如 From、Cc 和 Bcc。只有當 message_type 設定為 1 的時候 extra_headers 才有用,該資訊型別使用了 mail() 的同一個內建函數。

返回值:函數執行成功時返回 true,執行失敗時返回 false。

使用範例:
if(!mysql_connect($host,$user,$pwd)) {
    error_log('mysql connect failed', 3, 'error.log');
}
除了使用自定義提示資訊外,你還可以在傳送的錯誤資訊中包含錯誤處理的位置、發生錯誤時的執行函數等,使用魔術常數 __FILE__、__LINE__、__FUNCTION__、__CLASS__ 等可以返回與程式碼有關的錯誤資訊,方便檢視紀錄檔進行排查。