Ich versuche herauszufinden, wohin die PHP-Fehler in meinem Setup führen. Ich verwende Nginx als Reverse-Proxy für PHP-FPM, sehe aber nicht die verschiedenen E_NOTICE- oder E_WARNING- Nachrichten, die meine App erzeugt. Der einzige Grund, warum ich weiß, dass sie passieren, sind fehlgeschlagene Antworten und NewRelic, die Stack-Traces abfangen.
Hier ist die Protokollierungskonfiguration:
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
Ich habe PHP so konfiguriert, dass es sich in Syslog anmeldet, aber FPM hat keine Syslog-Funktion, so dass es sich in eine Datei anmeldet. Es ist mir eigentlich egal, wo die Fehler landen, nur dass sie irgendwo landen.
Gibt es Hinweise, wie ich das zum Laufen bringen könnte?