Если вы еще не в курсе, то самое время узнать, что в Альто есть встроенный механизм перехватывания и обработки ошибок. Т.е. абсолютно все PHP-ошибки (за исключением ошибок на этапе компиляции) движок перехватывает и пытается их записать в лог-файл. Поэтому очень рекомендую периодически поглядывать в соответствующую папочку лог-файлов своих сайтов – не накопилось ли для вас там пачка ошибок за время вашего отсутствия. А чтоб разбираться с ошибками было проще, следует обратить внимание на некоторые параметры конфигурации:
$config['sys']['logs']['error_file'] = 'error.log'; // файл лога ошибок
$config['sys']['logs']['error_extinfo'] = false; // дополнительная информация в логе
$config['sys']['logs']['error_callstack'] = false; // выводить стек вызовов в лог ошибок
$config['sys']['logs']['error_norepeat'] = true; // не повторять вывод одинаковых ошибок
И если с первым параметром, думаю, все ясно, то по следующим трем небольшие пояснения:$config['sys']['logs']['error_extinfo'] – под «дополнительной информацией» здесь понимается значение глобальной переменной $_SERVER. Иногда именно эта информация помогает понять, почему скрипт себя ведет не так, как ожидается.
$config['sys']['logs']['error_callstack'] – для фатальных ошибок этот параметр, в общем-то, бесполезен. Но для прочих (E_NOTICE, E_WARNING и т.д.) он выдает полный стек вызовов функций/методов, чтоб можно было понять, как мы оказались в той точке скрипта, где возникает эта ошибка.
$config['sys']['logs']['error_norepeat'] – иногда одна и та же ошибка может повторяться на одной странице много раз, например, когда в цикле идет обращение к несуществующей переменной. И этот параметр используется, чтоб избежать многократного тупого вывода одной и той же ошибки и не забивать напрасно лог файл.
Разумеется, нынешний обработчик ошибок далеко не идеален, и есть куда его развивать дальше (например, постараться научить его не просто фиксировать ошибки, но и извещать о них администратора сайта). Но грамотное использование уже имеющихся возможностей поможет вам гораздо эффективней находить и исправлять багги на ваших сайтах.
0 комментариев