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

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

Решение
Для записи в журнал ошибок предназначена функция 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__ – номер теку-
щей строки.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Аутентификация, основанная на cookies
Буферизация вывода в броузер
Взаимодействие в рамках Apache
Идентификация различных броузеров
Настройка обработки ошибок

Вернуться в раздел: PHP / 8. Основы Web