Включение отображения ошибок в PHP-скриптах может потребоваться для отладки сайта.
За протоколирование и уровень обработки ошибок в PHP отвечают директивы display_errors и error_reporting.
- Директива display_errors определяет, требуется ли выводить ошибки на экран вместе с остальным выводом.
- Директива error_reporting задает уровень протоколирования ошибок, т.е. какие именно ошибки и предупреждения PHP выводить.
Из соображений безопасности на серверах виртуального хостинга вывод ошибок PHP выключен.
В случае, если PHP для Вашего сайта подключен как модуль Apache (этот способ используется на хостинге по умолчанию), то для вывода всех поддерживаемых ошибок и предупреждений достаточно добавить строки
в файл с именем .htaccess, размещающийся в папке public_html сайта.
Отредактировать файл можно, например, в разделе «Файловый менеджер» .
Если файла .htaccess нет, то его следует создать.
В разделе «Домены» в колонке "Папка" можно узнать, где именно размещается папка public_html сайта.
После включения вывода ошибок необходимо повторить заход на сайт, либо обновить страницу, нажав F5 в браузере. На странице должна отобразиться отладочная информация, доступная по сайту.
Следует иметь в виду, что если в скриптах сайта перед именами функций присутствует оператор подавления ошибок (символ '@'), то несмотря на прописанные в .htaccess директивы, вывод ошибок производиться не будет.
Дополнительная информация
- В случае, если PHP для сайта подключен в режиме CGI, изменение параметров PHP производится в файле php.ini сайта. Для вывода всех ошибок и предупреждений необходимо внести в указанный файл строки
- Вывод ошибок также может задаваться непосредственно в скриптах сайта с помощью функции ini_set(). Например, для включения вывода всех ошибок служат строки
Параметры, заданные с помощью функции ini_set(), имеют более высокий приоритет и перекрывают директивы php.ini и .htaccess.
- Вывод ошибок на экран следует включать только во время отладки сайта. Наличие такого кода может негативно сказаться на безопасности веб-приложения.