Отправить заявку

Запись ошибок выполнения PHP скриптов в файл

Все php ошибки нужно обязательно записывать в лог-файл и регулярно изучать его.  Если этого не делать - есть шанс пропустить часть багов, которые появляются в процессе работы или тестирования и не выводятся на экран. По умолчанию, запись ошибок в файл отключена на многих конфигурациях (и это правильно!), но есть несколько способов это исправить:

Способ 1 — написать функцию перехвата ошибок и записи их в файл:

# В начале нашего скрипта пишем:
set_error_handler('err_handler');
function err_handler($errno, $errmsg, $filename, $linenum) {
$date = date('Y-m-d H:i:s (T)');
$f = fopen('errors.txt', 'a');
if (!empty($f)) {
$filename  =str_replace($_SERVER['DOCUMENT_ROOT'],'',$filename);
$err  = "$errmsg = $filename = $linenum\r\n";
fwrite($f, $err);
fclose($f);
}
}

Способ 2 — изменить php.ini:

log_errors = On
error_log = /var/log/php_errors.log

Способ 3 — добавить в .htaccess:

php_value log_errors "On"
php_value error_log /var/log/php_errors.log

Способ 4 — добавить в самое начало php скрипта:

ini_set('log_errors', 'On');
ini_set('error_log', '/var/log/php_errors.log');

Если создание сайтов было выполнено качественно, то и ошибок выводиться на экран не должно. Конечно, не всегда этого можно добиться по этому в идеале, перестраховаться и писать уведомления в файл. Крайне не рекомендуется использовать символ собаки @ для подавления ошибок т.к. в последствии можно пропустить очень важное уведомление.

Другие публикации