(PHP 4, PHP 5, PHP 7, PHP 8)
error_log — Отправляет сообщение об ошибке заданному обработчику ошибок
$message
,$message_type
= 0,$destination
= null
,$additional_headers
= null
Отправляет сообщение об ошибке в лог веб-сервера или в пользовательский файл.
message
Сообщение об ошибке, которое должно быть логировано.
message_type
Определяет куда отправлять ошибку. Возможны следующие значения:
0 |
Сообщение message отправляется в системный регистратор PHP, используя
механизм логирования операционной системы, или файл, в зависимости от значения директивы
error_log
в конфигурационном файле. Это значение по умолчанию.
|
1 |
Сообщение message отправляется электронной почтой на адрес, установленный в параметре
destination . Это единственный тип сообщения, где используется четвёртый параметр
additional_headers .
|
2 | Больше не используется. |
3 |
message применяется к указанному в
destination файлу. Перенос строки автоматически не добавляется в конец
message .
|
4 |
Сообщение message отправляется напрямую в обработчик
логера SAPI.
|
destination
Назначение. Устанавливается в зависимости от параметра
message_type
.
additional_headers
Дополнительные заголовки. Используется, когда значение параметра message_type
- 1
.
Данный тип сообщения использует ту же внутреннюю функцию, что и
mail().
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
Если message_type
равен нулю, функция всегда возвращает true
,
независимо от того, может ли ошибка логироваться или нет.
Версия | Описание |
---|---|
8.0.0 |
Параметр destination и
additional_headers теперь допускают значение null.
|
Пример #1 Примеры использования error_log()
<?php
// Отправляет уведомление посредством серверного лога, если мы не можем
// подключиться к базе данных.
if (!Ora_Logon($username, $password)) {
error_log("База данных Oracle недоступна!", 0);
}
// Уведомить администратора по электронной почте, если невозможно выделить ресурсы для FOO
if (!($foo = allocate_new_foo())) {
error_log("Большая проблема, мы выпали из FOO!", 1,
"operator@example.com");
}
// другой способ вызвать error_log():
error_log("Вы ошиблись!", 3, "/var/tmp/my-errors.log");
?>
error_log() не является бинарно-безопасной функцией. message
обрезается по null-символу.
message
не должен содержать null-символ. Учтите, что message
может передаваться в файл, по почте, в syslog и т.д. Используйте подходящую преобразующую или экранирующую функцию, base64_encode(), rawurlencode() или addslashes() перед вызовом error_log().