J'utilise nginx avec PHP-FPM. Ma configuration nginx pour gérer les fichiers php ressemble à ceci:
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;
}
Maintenant, j'ai un simple fichier php comme ceci:
<?php
ech "asd"
asd""
?>
Oui, avec une erreur évidente. Lorsque j'essaie d'accéder au fichier php, au lieu de tracer une erreur de syntaxe, j'obtiens toujours une erreur de serveur interne HTTP 500.J'ai essayé d'utiliser error_reporting(-1);
, mais elle retourne toujours HTTP 500. Comment obtenir PHP à imprimer l'erreur exacte au lieu de renvoyer un HTTP générique 500?
Essayez de trouver la ligne suivante dans votre php.ini
:
display_errors = Off
alors fais le
Pour poster une réponse plus complète, j'avais utilisé une version de production de php.ini qui avait display_errors = Off. Au lieu de l'activer globalement, ce que je fais maintenant, pour les fichiers pour lesquels j'ai besoin de signaler les erreurs, j'utilise ini_set('display_errors', 'On');
au début du fichier.
De plus, j'ai rencontré le problème et j'ai mis display_errors = Off
dans php.ini
mais cela ne fonctionne pas. Ensuite, j'ai trouvé le php[display_errors]=off
dans php-fpm.conf
, et il remplacera la valeur de php.ini
et cela fonctionnera.
Les erreurs d'affichage n'affecteront que le fait qu'elles soient imprimées en sortie ou non.
Si des erreurs de journal sont activées, elles seront toujours absentes du journal à moins que l'affichage ne soit désactivé, ce qui ne correspond pas au comportement attendu.
Le comportement attendu est que si le journal est activé, les erreurs y sont trouvées. Si l'affichage est activé, des erreurs sont détectées à l'écran/à la sortie. Si les deux sont sur des erros sont trouvés sur les deux.
Les versions actuelles ont un bogue qui l'oublie.
Pour Ubuntu 12.10, dans le fichier php-fpm-pool-config:
php_flag[display_errors] = on
Dans le fichier php.ini:
display_errors = On
Si vous installez à partir de Remi repo php72. Il vient utilisateur et groupe par défaut avec Apache |
accédez à votre fichier www.conf pour localiser /etc/opt/remi/php72/php-fpm.d/www.conf.
et changer
user=nginx
group=nginx
avant de redémarrer votre php fpm
systemctl restart php72-php-fpm
CENTOS REMI PHP7.2