log - PHP FPM devuelve HTTP 500 para todos los errores de PHP
ubuntu php fpm error log (6)
Estoy ejecutando nginx con PHP-FPM. Mi configuración de nginx para manejar archivos php tiene este aspecto:
location ~ /.php$ {
set $php_root /home/me/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $php_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
Ahora, tengo un simple archivo php como este:
<?php
ech "asd"
asd""
?>
Sí, con un error evidente. Cuando intento acceder al archivo php, en lugar de rastrear un error de sintaxis, siempre obtengo un error interno del servidor HTTP 500. Intenté usar error_reporting(-1);
pero aún así, siempre devuelve HTTP 500. ¿Cómo consigo que PHP imprima el error exacto en lugar de devolver un HTTP 500 genérico?
Los errores de visualización solo afectarán al hecho de que los errores se imprimen en la salida o no.
Si tiene los errores de registro activados, faltarán los errores en el registro a menos que la pantalla esté apagada, lo cual no es el comportamiento esperado.
El comportamiento esperado es si el registro está activado, los errores se encuentran allí. Si la pantalla está encendida, los errores se encuentran en la pantalla / salida. Si ambos están en erros se encuentran en ambos.
Las versiones actuales tienen un error que lo pierde.
Para Ubuntu 12.10, en el archivo php-fpm-pool-config:
php_flag[display_errors] = on
En el archivo php.ini:
display_errors = On
Para publicar una respuesta más completa, usé una versión de producción de php.ini que tiene display_errors = Off. En lugar de activarlo globalmente, lo que hago ahora es que, para los archivos sobre los que necesito informar sobre errores, utilizo ini_set(''display_errors'', ''On'');
Al principio del archivo.
Si instala desde remi repo php72. Viene usuario y grupo por defecto con apache |
vaya a su archivo www.conf, localice /etc/opt/remi/php72/php-fpm.d/www.conf
y cambio
user=nginx
group=nginx
antes de reiniciar su php fpm
systemctl restart php72-php-fpm
CENTOS REMI PHP7.2
También resolví el problema y configuré display_errors = Off
en php.ini
pero no funciona. Luego encontré php[display_errors]=off
en php-fpm.conf
, y anulará el valor de php.ini
y funcionará.
Trate de encontrar la siguiente línea en su php.ini
:
display_errors = Off
entonces hazlo