|
В заметке «Работа над ошибками» я уже упоминал о том, насколько неуместно на страницах сайта могут выглядеть сообщения об ошибках, выдаваемые интерпретатором PHP. Многие разработчики зачастую не уделяют должного внимания тому, чтобы избавить посетителей сайтов от необходимости лицезреть подобный мусор. Вероятно, самой массовой на то причиной (после лени, конечно) является вера в идеальность алгоритмов и абсолютную непотопляемость серверов БД. Тем не менее, одним из показателей грамотной реализации и внедрения системы является контролируемость вывода всех служебных сообщений интерпретатора.
Самый простой способ для этого — использовать функцию error_reporting() (или параметр конфигурационного файла PHP с аналогичным названием). С ее помощью можно, например, полностью отключить вывод ошибок в production версии скрипта, оставив их видимыми только для разработчика. Но это не самый оптимальный подход, т.к. он лишает возможности отслеживать исключительные ситуации в работе «боевой» версии.
Наиболее грамотное решение — перенаправлять все сообщения об ошибках в лог. Сделать это можно множеством способов. Один из них — тривиальный, с помощью set_error_handler() и других стандартных функций для обработки ошибок. Другой — через конфигурационные файлы Apache и PHP. На последнем я бы хотел остановиться более подробно. Читать далее →
|