error_log
(PHP 4, PHP 5, PHP 7)
error_log — Отправляет сообщение об ошибке заданному обработчику ошибок
Описание
$message
, int $message_type
= 0
, string $destination
= ?
, string $extra_headers
= ?
) : boolОтправляет сообщение об ошибке в лог веб-сервера или в пользовательский файл.
Список параметров
-
message
-
Сообщение об ошибке, которое должно быть логировано.
-
message_type
-
Определяет куда отправлять ошибку. Возможны следующие значения:
Типы журналов error_log() 0 Сообщение message
отправляется в системный регистратор PHP, используя механизм логирования операционной системы, или файл, в зависимости от значения директивы error_log в конфигурационном файле. Это значение по умолчанию.1 Сообщение message
отправляется электронной почтой на адрес, установленный в параметреdestination
. Это единственный тип сообщения, где используется четвертый параметрextra_headers
.2 Больше не используется. 3 message
применяется к указанному вdestination
файлу. Перенос строки автоматически не добавляется в конецmessage
.4 Сообщение message
отправляется напрямую в обработчик логера SAPI. -
destination
-
Назначение. Устанавливается в зависимости от параметра
message_type
. -
extra_headers
-
Дополнительные заголовки. Используется, когда значение параметра
message_type
-1
. Данный тип сообщения использует ту же внутреннюю функцию, что и mail().
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Примечания
error_log() не является бинарно-безопасной функцией. message
обрезается по null-символу.
message
не должен содержать null-символ. Учтите, что message
может передаваться в файл, по почте, в syslog и т.д. Используйте подходящую преобразующую или экранирующую функцию, base64_encode(), rawurlencode() или addslashes() перед вызовом error_log().
Примеры
Пример #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");
?>