it-swarm.com.de

PHP FPM gibt für alle HTTP 500 zurück PHP Fehler

Ich betreibe nginx mit PHP-FPM. Meine Nginx-Konfiguration zum Umgang mit PHP-Dateien sieht folgendermaßen aus:

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;
        }

Jetzt habe ich eine einfache PHP-Datei wie diese:

<?php
     ech "asd"
     asd""
?>

Ja, mit einem offensichtlichen Fehler. Wenn ich versuche, auf die PHP-Datei zuzugreifen, erhalte ich statt eines Syntaxfehlers immer einen HTTP 500-internen Serverfehler. Ich habe versucht, error_reporting(-1); zu verwenden, gibt jedoch immer HTTP 500 zurück. Wie bekomme ich PHP zum Drucken der genaue Fehler, anstatt ein generisches HTTP 500 zurückzugeben?

17
ErJab

Versuchen Sie die folgende Zeile in Ihrem php.ini zu finden:

 display_errors = Off

dann mach es weiter

31
Young

Um eine vollständigere Antwort zu posten, hatte ich eine Produktionsversion von php.ini verwendet, die display_errors = Off hat. Statt global zu aktivieren, verwende ich jetzt für Dateien, für die ich eine Fehlerberichterstattung benötige, ini_set('display_errors', 'On'); am Anfang der Datei.

8
ErJab

Ich habe auch das Problem getroffen und display_errors = Off in php.ini eingestellt, aber es funktioniert nicht. Dann habe ich php[display_errors]=off in php-fpm.conf gefunden, und es wird den Wert von php.ini überschreiben und es funktioniert.

5
yaronli

Anzeigefehler wirken sich nur darauf aus, dass die Fehler ausgegeben werden oder nicht.

Wenn Protokollfehler aktiviert sind, fehlen die Fehler weiterhin im Protokoll, sofern die Anzeige nicht deaktiviert ist. Dies ist nicht das erwartete Verhalten.

Das erwartete Verhalten ist, wenn Log aktiviert ist, werden dort Fehler gefunden. Wenn die Anzeige eingeschaltet ist, werden Fehler auf dem Bildschirm/Ausgang gefunden. Wenn beide auf sind, werden Fehler auf beiden gefunden.

Aktuelle Versionen haben einen Fehler, der das verwirkt.

1
Luis Ferro

Für Ubuntu 12.10 in der Datei php-fpm-pool-config:

php_flag[display_errors] = on

In der php.ini-Datei:

display_errors = On
1
user2009092

sie können Fehler auf folgende Weise anzeigen: Gehen Sie zu php.ini und suchen Sie display_errors, Das solltest du sehen display_errors = Off, einfach Off durch On ersetzen, php neu starten und erneut ausführen.

1
Bách Nguyễn

Wenn Sie von Remi Repo php72 installieren. Es ist Standardbenutzer und -gruppe mit Apache |

gehen Sie zu Ihrer www.conf-Datei, in der Sie nach /etc/opt/remi/php72/php-fpm.d/www.conf suchen

und ändern

user=nginx
group=nginx

bevor Sie Ihre PHP-Fpm neu starten

systemctl restart php72-php-fpm

CENTOS REMI PHP7.2

0
Turan Zamanlı