Все 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');
Если создание сайтов было выполнено качественно, то и ошибок выводиться на экран не должно. Конечно, не всегда этого можно добиться по этому в идеале, перестраховаться и писать уведомления в файл. Крайне не рекомендуется использовать символ собаки @
для подавления ошибок т.к. в последствии можно пропустить очень важное уведомление.