Функции Язык программирования PHP

error_log

(PHP 3, PHP 4)

error_log - высылает сообщение об ошибке.

Описание

int error_log (string message [, int message_type [, string destination [, string extra_headers]]])

Высылает сообщение об ошибке в error log web-сервера, TCP -порт или в файл. Первый параметр message это сообщение об ошибке, которое должно быть записано в лог-файл. Второй параметр, message_type, говорит, куда сообщение должно быть направлено:

Таблица 1. Типы error_log()
0 message высылается в системный логер РНР, используя механизм логинга ОС, или в файл, в зависимости от установки директивы конфигурации error_log.
1 message высылается по email по адресу в параметре destination. Это единственный тип сообщения с 4 параметром, extra_headers. Этот тип сообщений использует ту же внутреннюю функцию, что и mail().
2 message высылается через соединение отладки РНР. Эта опция доступна, только если включена опция удалённой отладки. В этом случае параметр destination специфицирует имя хоста или IP-адрес, или - по выбору - номер порта сокета, получающего отладочную информацию.
3 message присоединяется к файлу destination.
 
Предупреждение!

Удалённая отладка по TCP/IP это возможность PHP 3, которая недоступна в PHP 4.

Пример 1. error_log()
// отправляет уведомление через log сервера, если мы на можем // соединиться 
с БД. if (!Ora_Logon ($username, $password)) { error_log ("Oracle database not 
available!", 0); } // Администратор уведомляется по email, если мы работаем вне 
FOO if (!($foo = allocate_new_foo()) { error_log ("Big trouble, we're all out 
of FOOs!", 1, "operator@mydomain.com"); } // другие способы вызова error_log(): 
error_log ("You messed up!", 2, "127.0.0.1:7000"); error_log ("You messed up!", 
2, "loghost"); error_log ("You messed up!", 3, "/var/tmp/my-errors.log");

Назад Оглавление Вперёд
Функции обработки ошибок и логинга Вверх error_reporting

Глава 24. Использование PHP из командной строки

Эта опция позволяет выполнять PHP прямо в командной строке. Начальный и конечный тэги PHP (<?php и ?>) не нужны и вызывают ошибки разборщика.

Примечание: нужно проявлять внимание при использовании этой формы PHP, чтобы не было противоречий с заменой переменных командной строки, выполняемой оболочкой.

Пример, выводящий ошибку разборщика:

$ php -r "$foo = get_defined_constants();" Command line code(1) : Parse error 
- parse error, unexpected '='

Проблема здесь в том, что sh/bash выполняет замену переменной даже при использовании двойных кавычек ". Поскольку переменная $foo вряд ли определена, она ни во что не разворачивается, что в результате даёт код, передаваемый в PHP для выполнения, фактически прочитанный:

$ 
php -r " = get_defined_constants();"