Я пытаюсь выяснить, где ошибки PHP в моей установке. Я использую nginx в качестве обратного прокси-сервера для PHP-FPM, но я не вижу различных сообщений E_NOTICE или E_WARNING, которые генерирует мое приложение. Единственная причина, по которой я знаю, что они происходят, это неудачные ответы и NewRelic, отслеживающие следы стека.
Вот лог конфигурации:
nginx.conf
proxy_intercept_errors on;
fastcgi_intercept_errors on;
php.ini
error_reporting = E_ALL
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = On
error_log = syslog
PHP-fpm.conf
[global]
error_log = /var/log/php-fpm/fpm-error.log
[www]
access.log = /var/log/php-fpm/access.log
access.format = "%t \"%m %r%Q%q\" %s %{mili}dms %{kilo}Mkb %C%%"
catch_workers_output = yes
php_flag[display_errors] = on
php_admin_flag[log_errors] = true
rsyslog.conf
:syslogtag, contains, "php" /var/log/php-fpm/error.log
Я настроил PHP для входа в системный журнал, однако в FPM нет функции системного журнала, поэтому он регистрируется в файл. Мне все равно, где заканчиваются ошибки, просто они где-то заканчиваются.
Любые подсказки о том, как я мог бы заставить это работать?
Ответы:
В соответствии с конфигурационным файлом FPM поддерживает отправку ошибок в системный журнал.
источник
Вы уверены в своем предположении о rsyslog.conf? То есть вы уверены, что все такие сообщения системного журнала помечены строчными буквами "php"?
Попробуйте установить syslog.facility что-то вроде local2 (или local1, или local7) и соответственно заменить строку конфигурации rsyslog.conf:
источник
Когда вы используете php-fpm, он переопределяет
php.ini
настройки.Ведение журнала, скорее всего, необходимо настроить в
.../www.conf
.Я раскомментировал эти строки, чтобы получить логи PHP.
Пользователь и группа веб-сервера также могут быть найдены в этом файле в строках, аналогичных этим (могут отличаться в зависимости от конфигурации сокета Unix и конфигурации прокси).
Тогда нужно просто создать файл и правильно его настроить.
Я считаю, что уровень журнала все еще используется,
php-fpm.conf
поэтому вам также может понадобиться проверить это.источник