(PHP 4, PHP 5, PHP 7, PHP 8)
error_log — 發(fā)送錯誤信息到某個(gè)地方
$message
,$message_type
= 0,$destination
= ?,$extra_headers
= ?把錯誤信息發(fā)送到 web 服務(wù)器的錯誤日志,或者到一個(gè)文件里。
message
應該被記錄的錯誤信息。
message_type
設置錯誤應該發(fā)送到何處??赡艿男畔㈩?lèi)型有以下幾個(gè):
0 |
message 發(fā)送到 PHP 的系統日志,使用
操作系統的日志機制或者一個(gè)文件,取決于
error_log 指令設置了什么。
這是個(gè)默認的選項。
|
1 |
message 發(fā)送到參數 destination
設置的郵件地址。
第四個(gè)參數 extra_headers 只有在這個(gè)類(lèi)型里才會(huì )被用到。
|
2 | 不再是一個(gè)選項。 |
3 |
message 被發(fā)送到位置為 destination 的文件里。
字符 message 不會(huì )默認被當做新的一行。
|
4 |
message 直接發(fā)送到 SAPI 的日志處理程序中。
|
destination
目標。它的含義描述于以上,由
message_type
參數所決定。
extra_headers
額外的頭。當 message_type
設置為 1
的時(shí)候使用。
該信息類(lèi)型使用了 mail() 的同一個(gè)內置函數。
成功時(shí)返回 true
, 或者在失敗時(shí)返回 false
。
error_log() 并非二進(jìn)制安全的。null 字符可能截斷 message
。
message
不能包含 null 字符。
注意,message
可能會(huì )發(fā)送到文件、郵件、syslog 等。
所以在調用 error_log() 前需要使用適合的轉換/轉義函數: base64_encode()、 rawurlencode() 或 addslashes()。
示例 #1 error_log() 范例
<?php
// 如果無(wú)法連接到數據庫,發(fā)送通知到服務(wù)器日志
if (!Ora_Logon($username, $password)) {
error_log("Oracle database not available!", 0);
}
// 如果用盡了 FOO,通過(guò)郵件通知管理員
if (!($foo = allocate_new_foo())) {
error_log("Big trouble, we're all out of FOOs!", 1,
"operator@example.com");
}
// 調用 error_log() 的另一種方式:
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
?>
版本 | 說(shuō)明 |
---|---|
5.2.7 |
可能的值:4添加到了 message_type 。
|