(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().