Начиная с более ранних версий и заканчивая PHP 5, выпущенной 13 июля 2004 г., отчеты об ошибках были довольно простыми. Помимо тщательного написания программ, вам также следует обратить внимание на некоторые специфические элементы конфигурации PHP:
Элементerror_reporting
устанавливает уровень сообщения об ошибках. Независимо от того, является ли это средой разработки или развертывания, настоятельно рекомендуется установить для этого проекта значение E_ALL.
Элементdisplay_errors
определяет, отображаются ли ошибки на экране (включаются в выходные данные). При разработке для него следует установить значение «Вкл.», чтобы во время разработки обнаруживались ошибки; в среде развертывания его следует установить в положение «Выкл.», чтобы ошибки были скрыты от всех пользователей (и потенциальных злоумышленников).
Элементlog_errors
определяет, записываются ли ошибки в журнал. Хотя это влечет за собой снижение производительности, это необходимо для нечастых ошибок. Если регистрация ошибок на жестком диске создает значительную нагрузку ввода-вывода, это может заслуживать большего внимания, чем эффективность приложения. В среде развертывания для этого параметра должно быть установлено значение «Вкл.».
Элементerror_log
определяет расположение и имя файла журнала. Обязательно убедитесь, что у веб-сервера есть разрешения для указанного файла.
Установка error_reporting значения E_ALL полезна для принудительной инициализации переменных, поскольку использование неопределенной переменной приведет к появлению уведомления.
Обратите внимание, что каждый из этих элементов можно установить с помощью ini_set(), не требуя доступа к php.ini или других операций для установки этих элементов.
Очень хорошая функция обработки ошибок и отчетов описана в руководстве по PHP:
http://www.php.net/manual/en/ref.errorfunc.php
PHP 5 включает обработку исключений. Для получения дополнительной информации см.