Для начала выясним зачем это нужно – выводить ошибки PHP? При разработке сайта или веб-приложения, могут возникать синтаксические ошибки или ошибки выполнения скрипта, которые затруднят процесс установки или отладки проекта. Поэтому существуют несколько уровней вывода ошибок PHP, благодаря чему можно быстро найти и исправить проблемы в коде.
Включение вывода ошибок PHP нужно использовать во время разработки сайтов или приложений. Вывод ошибок на работающем сайте может быть опасен, так как этой информацией могут воспользоваться кибепреступники для взлома сайта.
Для предотвращения подобной ситуации в PHP есть настройки, позволяющие устанавливать уровень вывода ошибок. Чаще всего используются три уровня:
Расскажем про три способа включения вывода ошибок PHP: через .htaccess, через файл php.ini и через логи PHP.
php_flag display_errors on
php_value error_reporting E_ALL
Эти строки команд PHP отвечают за вывод всех ошибок (error_reporting E_ALL) и показ их в браузере (display_errors on).
Важно помнить, что включение вывода ошибок PHP может влияние на скорость вашего сайта, а также на его безопасность. Поэтому, лучше всего отключать вывод ошибок на рабочем сайте и включать его только на стадии разработки и отладки.
Чтобы скрыть показ ошибок значение on в коде меняем на off:
php_flag display_errors off
PHP записывает ошибки и предупреждения в свои журналы (логи) приложений. Через логи PHP можно получать детальную информацию об ошибках и предупреждениях PHP, что помогает разработчикам быстро и легко управлять выводом ошибок и сообщений PHP и просматривать их в запущенных процессах, файловой системе или инструментах мониторинга приложений.
Чтобы включить вывод ошибок через логи PHP необходим доступ к файлу php.ini (некоторые хостинг-провайдеры отключают его) :
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
И замените их на:
error_reporting = E_ALL
log_errors = On
error_log = /path/to/php_error.log
error_log = /var/log/php_errors.log
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
Замените их на:
error_reporting = E_ALL
display_errors = On
Теперь все ошибки PHP будут выводиться на экран в браузере, и вы сможете легко отслеживать ошибки при разработке или настройке вашего сайта.
Включение вывода ошибок в PHP помогает быстро находить и исправлять ошибки в коде, сокращает время разработки и улучшает эффективность работы веб-разработчиков.