Читати статтю
Всі 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');
Якщо створення сайтів було виконано якісно, то і помилки виводитися на екран не повинні. Звичайно, не завжди цього можна домогтись тому в ідеалі, потрібно перестрахуватися і писати повідомлення в файл. Вкрай не рекомендується використовувати символ собаки @ для придушення помилок тому, що можна пропустити дуже важливе повідомлення.