Разработчику. Сборник рецептов PHP
Задавайте вопросы

Регистрация ошибок

Вернуться назад

Задача

Необходимо записывать ошибки программы в журнал. Эти ошибки могут включать все – от синтаксических ошибок и ненайденных файлов до некорректных запросов в базу данных и потерянных соединений.

Решение

Для записи в журнал ошибок предназначена функция error_log():

// Ошибка LDAP
if (ldap_errno($ldap)) {
     error_log("LDAP Error #" . ldap_errno($ldap) . ": " . ldap_error($ldap));

}

Обсуждение

Ведение журнала ошибок упрощает процесс отладки. Разумная регистрация ошибок облегчает их исправление. Всегда записывайте информацию о причине ошибки:

$r = mysql_query($sql);
if (! $r) {
     $error = mysql_error();
     error_log('[DB: query @'.$_SERVER['REQUEST_URI']."][$sql]: $error");
} else {
     // результаты обработки
}

Вы не получите необходимую помощь в процессе отладки, какую могли бы получить, если фиксируете лишь сам факт ошибки без какой-либо вспомогательной информации:

$r = mysql_query($sql);
if (! $r) {
     error_log("bad query");
} else {
     // результат обработки
}

Другим полезным приемом является включение констант __FILE__ и__LINE__ в сообщения об ошибках:

error_log('['.__FILE__.']['.__LINE__."]: $error");

Константа __FILE__ – это текущее имя файла, а __LINE__ – номер текущей строки.

См. также

Документацию по функции error_log() на http://www.php.net/error-log.

Вернуться назад

Рейтинг@Mail.ru

Яндекс.Метрика

Индекс цитирования


Рейтинг Сайтов ДОСКИ.РУ