error_log

(PHP 4, PHP 5, PHP 7, PHP 8)

error_log發(fā)送錯誤信息到某個地方

說明

error_log(
    string $message,
    int $message_type = 0,
    string $destination = ?,
    string $extra_headers = ?
): bool

把錯誤信息發(fā)送到 web 服務(wù)器的錯誤日志,或者到一個文件里。

參數(shù)

message

應(yīng)該被記錄的錯誤信息。

message_type

設(shè)置錯誤應(yīng)該發(fā)送到何處??赡艿男畔㈩愋陀幸韵聨讉€:

error_log() 日志類型
0 message 發(fā)送到 PHP 的系統(tǒng)日志,使用 操作系統(tǒng)的日志機制或者一個文件,取決于 error_log 指令設(shè)置了什么。 這是個默認的選項。
1 message 發(fā)送到參數(shù) destination 設(shè)置的郵件地址。 第四個參數(shù) extra_headers 只有在這個類型里才會被用到。
2 不再是一個選項。
3 message 被發(fā)送到位置為 destination 的文件里。 字符 message 不會默認被當做新的一行。
4 message 直接發(fā)送到 SAPI 的日志處理程序中。

destination

目標。它的含義描述于以上,由 message_type 參數(shù)所決定。

extra_headers

額外的頭。當 message_type 設(shè)置為 1 的時候使用。 該信息類型使用了 mail() 的同一個內(nèi)置函數(shù)。

返回值

成功時返回 true, 或者在失敗時返回 false。

注釋

警告

error_log() 并非二進制安全的。null 字符可能截斷 message。

小技巧

message 不能包含 null 字符。 注意,message 可能會發(fā)送到文件、郵件、syslog 等。 所以在調(diào)用 error_log() 前需要使用適合的轉(zhuǎn)換/轉(zhuǎn)義函數(shù): base64_encode()、 rawurlencode()addslashes()

范例

示例 #1 error_log() 范例

<?php
// 如果無法連接到數(shù)據(jù)庫,發(fā)送通知到服務(wù)器日志
if (!Ora_Logon($username$password)) {
    
error_log("Oracle database not available!"0);
}

// 如果用盡了 FOO,通過郵件通知管理員
if (!($foo allocate_new_foo())) {
    
error_log("Big trouble, we're all out of FOOs!"1,
               
"operator@example.com");
}

// 調(diào)用 error_log() 的另一種方式:
error_log("You messed up!"3"/var/tmp/my-errors.log");
?>

更新日志

版本 說明
5.2.7 可能的值:4添加到了 message_type。