Estou tentando descobrir para onde estão indo os erros do PHP na minha instalação. Estou executando o nginx como proxy reverso do PHP-FPM, mas não estou vendo as várias mensagens E_NOTICE ou E_WARNING que meu aplicativo está produzindo. A única razão pela qual sei que eles estão acontecendo são as respostas com falha e o NewRelic capturando rastreamentos de pilha.
Aqui está a configuração de log:
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
Eu configurei o PHP para efetuar logon no syslog, no entanto, o FPM não possui função syslog, portanto, ele está acessando um arquivo. Eu realmente não me importo onde os erros acabam, apenas que eles acabam em algum lugar.
Alguma pista de como eu poderia fazer isso funcionar?
Respostas:
De acordo com o arquivo de configuração, o FPM suporta o envio de erros ao syslog.
fonte
Você tem certeza de sua suposição para o rsyslog.conf? Ou seja, você tem certeza de que todas essas mensagens syslog estão marcadas com "php" em minúsculas?
Tente definir syslog.facility como algo local2 (ou local1 ou local7) e substitua sua linha de configuração do rsyslog.conf de acordo:
fonte
Quando você está usando php-fpm, ele parece substituir as
php.ini
configurações.Provavelmente, o log precisa estar configurado
.../www.conf
.Eu descomentei essas linhas para pegar os logs do PHP.
O usuário e o grupo do servidor da web também podem ser encontrados neste arquivo em linhas semelhantes a esta (podem diferir entre soquete unix e configuração de proxy).
Depois, basta criar o arquivo e configurá-lo corretamente.
Eu acredito que o nível de log ainda é usado,
php-fpm.conf
então você também pode precisar verificar isso.fonte