Вывод ошибок PHP на экран

Часто возникают проблемы с сайтом, а ошибок нет, примером белый екран и в логах чисто, что бы увидеть ошибку и решить ее делаем следующее.
Способ 1. Включение вывода ошибок на экран через php.ini
Если вы имеете доступ (ну а вдруг) к серверу, то в конфигурационном файле php.ini найдите параметр error_reporting и установите его значение в E_ALL.
error_reporting = E_ALL

Способ 2. Включение вывода ошибок на экран через .htaccess
В корне сайта имеется файл .htaccess, который регулирует процессы загрузки страниц. Чтобы включить вывод сообщений, откройте его и добавьте следующие две строки:
php_flag display_errors on
php_flag display_startup_errors on


Вот еще парочка примеров которая вам пригодится
Убираем отображение ошибок php на сайте
# supress php errors
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0

Вывод ошибок php в произвольный лог файл
# enable PHP error logging
php_flag  log_errors on
php_value error_log  /home/path/public_html/domain/PHP_errors.log

Защищаем папку с логами от доступа
# prevent access to PHP error log
<Files PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>


Выставляем уровень вывода ошибок

integer — флаг, который задает глубину вывода ошибок. 0 — не выводить ничего, 8191- выводить в лог все. Значение 1 — выводит ошибки. Более подробное описение в документации по PHP.

# general directive for setting php error level
php_value error_reporting integer


Выставляем максимальный размер для строки с ошибкой
# general directive for setting max error size
log_errors_max_len integer


Отключить логирование повторяющихся ошибок
# disable repeated error logging
php_flag ignore_repeated_errors on
php_flag ignore_repeated_source on


Настройки для сайта в рабочем режиме
# PHP error handling for production servers
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_reporting -1
php_value log_errors_max_len 0

<Files /home/path/public_html/domain/PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>


Конфигурация для отладки или разработки
# PHP error handling for development servers
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /home/path/public_html/domain/PHP_errors.log
# [see footnote 3] # php_value error_reporting 999999999
php_value error_reporting -1
php_value log_errors_max_len 0

<Files /home/path/public_html/domain/PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>
Поделиться:

Нет комментариев