Как включить вывод ошибок PHP

Для начала выясним зачем это нужно – выводить ошибки PHP? При разработке сайта или веб-приложения, могут возникать синтаксические ошибки или ошибки выполнения скрипта, которые затруднят процесс установки или отладки проекта. Поэтому существуют несколько уровней вывода ошибок PHP, благодаря чему можно быстро найти и исправить проблемы в коде. 

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

Для предотвращения подобной ситуации в PHP есть настройки, позволяющие устанавливать уровень вывода ошибок. Чаще всего используются три уровня: 

  • error_reporting — отвечает за то, какие ошибки PHP будут выведены,
  • display_errors — отвечает за вывод ошибок в браузер,
  • log_errors — отвечает за логирование ошибок PHP. 

Расскажем про три способа включения вывода ошибок PHP: через .htaccess, через файл php.ini и через логи PHP.

Как включить через .htaccess вывод ошибок php

  1. Откройте файл .htaccess в корневом каталоге вашего сайта. Если файла .htaccess не существует, то создайте его.
  2. Добавьте следующие строки кода в этот файл:

php_flag display_errors on

php_value error_reporting E_ALL

Эти строки команд PHP отвечают за вывод всех ошибок (error_reporting E_ALL) и показ их в браузере (display_errors on).

  1. Сохраните файл .htaccess.
  2. Перезагрузите веб-страницу, чтобы увидеть вывод ошибок PHP.

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

Чтобы скрыть показ ошибок значение on в коде меняем на off: 

php_flag display_errors off

Как включить отображение ошибок PHP через логи 

PHP записывает ошибки и предупреждения в свои журналы (логи) приложений. Через логи PHP можно получать детальную информацию об ошибках и предупреждениях PHP, что помогает разработчикам быстро и легко управлять выводом ошибок и сообщений PHP и просматривать их в запущенных процессах, файловой системе или инструментах мониторинга приложений.

Чтобы включить вывод ошибок через логи PHP необходим доступ к файлу php.ini (некоторые хостинг-провайдеры отключают его) :

  1. Откройте файл php.ini в текстовом редакторе кода.
  2. Найдите следующие строки:

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

  1. Задайте путь к файлу логов ошибок PHP в параметре error_log. Например:

error_log = /var/log/php_errors.log

  1. Сохраните файл php.ini и перезагрузите сервер Apache или PHP.

Как включить вывод ошибок через файл php.ini

  1. Найдите файл php.ini на вашем сервере. Обычно он располагается в /etc/php/7.0/ (где 7.0 - версия PHP) на серверах Linux или в директории PHP на серверах Windows.
  2. Откройте файл php.ini в текстовом редакторе кода.
  3. Найдите следующие строки:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

display_errors = Off

Замените их на:

error_reporting = E_ALL

display_errors = On

  1. Сохраните изменения в файле php.ini.
  2. Перезапустите веб-сервер, чтобы изменения вступили в силу.

Теперь все ошибки PHP будут выводиться на экран в браузере, и вы сможете легко отслеживать ошибки при разработке или настройке вашего сайта.

Заключение

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

Всё ещё остались вопросы?