1

Topic: Как создать файл лога ошибок PHP

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

Как создать лог ошибок PHP?
$matches[2]

Убираем отображение ошибок 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>

1

2

Re: Как создать файл лога ошибок PHP

Вот готовый код, который нужно добавить в htaccess

# Настройки вывода php ошибок при помощи htaccess
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_log /home/f/fb_user3589/site.ru/public_html/PHP_errors.log
php_value error_reporting 2047
php_value log_errors_max_len 0

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