Программисты постоянно сообщают об ошибках или нет?

12

Мне было интересно, если php-программисты оставляют error_reporting в php.ini включенным или выключенным после доставки сайта?


источник

Ответы:

18

Вы всегда должны продолжать сообщать об ошибках, регистрировать наиболее важные события и проводить аудит. В противном случае, в тот день, когда ваше приложение по какой-то причине не получится, вам будет сложно понять, что произошло.

При этом сообщение об ошибке должно быть сделано изнутри и никогда не показываться конечному пользователю, так как было бы проблемой безопасности показывать конфиденциальную информацию. Вы можете использовать display_errorsи log_errorsнастройки для этого: в php.ini-production, первый установлен в off, в то время как второй on.

Кстати, php.ini-productionуже отвечает на ваш вопрос:

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED

Другой комментарий также говорит вам, что:

По умолчанию PHP настроен на выполнение действий со всеми ошибками, уведомлениями и предупреждениями, КРОМЕ тех, которые связаны с E_NOTICE и E_STRICT, которые в совокупности охватывают лучшие практики и рекомендуемые стандарты кодирования в PHP. По соображениям производительности это рекомендуемый параметр сообщения об ошибках. Ваш рабочий сервер не должен тратить ресурсы, жалуясь на лучшие практики и стандарты кодирования.

Арсений Мурзенко
источник
Спасибо за ответ. Совершенно очевидно, что отчеты об ошибках очень полезны при разработке веб-сайта, но я был сбит с толку, если разработчики отключают его после создания веб-сайта, чтобы клиент не увидел ни одной из ошибок. Спасибо за прояснение концепции.
Если разработчик error_reportingвыключается в работе, у него есть вероятность что-то скрыть.
Лекенштейн
Вы хотите выключить ведение журнала уровня отладки и трассировки в производственной среде. Отчеты об уровне ошибок важны, когда что-то идет не так. Большинство сайтов захотят, чтобы информационная регистрация была включена, если это сделано надлежащим образом.
BillThor
@FahadUddin Вы не хотите, чтобы зрители вашего сайта / приложения видели ошибки. Единственное, что мы ограничиваем, - это отображение ошибок для конечного пользователя, а остальное - ведение журнала. Тем не менее, хорошая практика диктует, что в случае ошибки на уровне приложения (например, плохое соединение с БД) мы сообщаем конечному пользователю, что что-то пошло не так, и на бэкэнде немедленно предупреждают разработчиков.
Ян Льюис