650 Stimmen

Wie kann ich nützliche Fehlermeldungen in PHP erhalten?

Oft versuche ich, ein PHP-Skript auszuführen, und erhalte nur einen leeren Bildschirm zurück. Keine Fehlermeldung, nur ein leerer Bildschirm. Die Ursache könnte ein einfacher Syntaxfehler (falsche Klammer, fehlendes Semikolon), ein fehlgeschlagener Funktionsaufruf oder etwas ganz anderes sein.

Es ist sehr schwierig, herauszufinden, was schief gelaufen ist. Am Ende muss ich Code auskommentieren, überall "echo"-Anweisungen eingeben usw., um das Problem einzugrenzen. Aber es muss doch einen besseren Weg geben, oder?

Gibt es eine Möglichkeit, PHP dazu zu bringen, eine nützliche Fehlermeldung auszugeben, wie es Java tut?

1 Stimmen

5 Stimmen

@JuannStrauss, Das ist noch untertrieben. Und wenn Sie schließlich siehe die Fehler, es heißt T_PAAMAYIM_NEKUDOTAYIM . Oder vielleicht "muss eine Instanz von integer sein, integer gegeben" .

2 Stimmen

-1voto

Milan Babuškov Punkte 57324

Wenn der Fehler im PHP-Code auftritt, können Sie die Funktion error_reporting() in Ihrem Code verwenden, um alle zu melden.

Dies ist jedoch nicht der Fall, wenn PHP abstürzt. Informationen darüber sind nur in den Serverprotokollen verfügbar. Vielleicht haben Sie keinen Zugang zu diesen Protokollen, aber viele Hosting-Provider, mit denen ich zusammengearbeitet habe, haben eine Möglichkeit, Ihnen den Zugriff darauf zu ermöglichen. Der Ansatz, der mir am besten gefällt, ist zum Beispiel, dass die Datei error_log im aktuellen Verzeichnis erstellt wird, in dem sich .php befindet. Versuchen Sie, dort zu suchen, oder fragen Sie Ihren Hosting-Provider danach.

-2voto

anarcat Punkte 4847

Ich habe solche Fehler auch gesehen, wenn die fastcgi_params o fastcgi.conf config-Datei nicht ordnungsgemäß in die Serverkonfiguration eingebunden ist. Also war die Lösung für mich eine Dummheit:

include /etc/nginx/fastcgi_params;

Ich brauchte eine Stunde um das herauszufinden...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X