Сообщения об ошибках
Логирование ошибок полезно при поиске проблемных мест вашего приложения, также логирование может выдать информацию о структуре вашего приложения. Для эффективной защиты вашего приложения от проблем, которые могут быть вызваны выводом этих сообщений, вам необходимы различные настройки сервера для разработки и продакшна.
Разработка
Для того, чтобы видеть все возможные ошибки во время разработки, настройте следующие параметры в вашем php.ini:
display_errors = On
display_startup_errors = On
error_reporting = -1
log_errors = On
Установка значения в -1 покажет каждую возможную ошибку, даже если новые уровни и константы будут добавлены в новых версиях PHP. Константа E_ALL ведёт себя так-же в PHP 5.4. — php.net
Константа уровня ошибок E_STRICT была введена в 5.3.0 и не является частью E_ALL, как бы то ни было, она стала частью E_ALL в 5.4.0 Что это значит? Для вывода всех возможных ошибок в версии 5.3 вам нужно использовать либо -1 либо E_ALL | E_STRICT.
Вывод всех ошибок разными версиями PHP
- < 5.3 -1 or E_ALL
- 5.3 -1 or E_ALL | E_STRICT
- > 5.3 -1 or E_ALL
Продакшн
Чтобы спрятать все ошибки вашей среды во время продакшна, настройте ваш php.ini следующим образом:
display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL
log_errors = On
С этими настройками в продакшне, ошибки всё также будут записываться в лог ошибок веб сервера, но не будут показаны пользователю. Для подробной информации об этих настройках, смотрите руководство PHP: