067 607 57 84
МЕНЮ

Запис помилок виконання 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');
                    

Якщо створення сайтів було виконано якісно, то і помилки виводитися на екран не повинні. Звичайно, не завжди цього можна домогтись тому в ідеалі, потрібно перестрахуватися і писати повідомлення в файл. Вкрай не рекомендується використовувати символ собаки @ для придушення помилок тому, що можна пропустити дуже важливе повідомлення.