PHP-Konfiguration
2 Einträge in php.ini diktieren den Ausgang von Fehlern:
display_errors
error_reporting
Unter Produktion , display_errors
ist in der Regel eingestellt auf Off
(Das ist auch gut so, denn die Anzeige von Fehlern in Produktionsstätten ist im Allgemeinen nicht erwünscht!)
Doch in Entwicklung sollte sie eingestellt werden auf On
, damit Fehler angezeigt werden. Siehe !
error_reporting
(ab PHP 5.3) ist standardmäßig eingestellt auf E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
(d.h. es wird alles angezeigt, mit Ausnahme von Hinweisen, strengen Normen und Verfallshinweisen). Im Zweifelsfall setzen Sie ihn auf E_ALL
zur Anzeige todo die Fehler. Siehe !
Brr, brr! Keine Prüfung! Ich kann meine php.ini nicht ändern!
Das ist eine Schande. Normalerweise erlauben Shared Hosts die Änderung ihrer php.ini-Datei nicht, und so ist diese Option leider nicht verfügbar. Aber keine Angst! Wir haben andere Optionen !
Laufzeitkonfiguration
In dem gewünschten Skript können wir die php.ini-Einträge zur Laufzeit ändern! Das heißt, es wird ausgeführt, wenn das Skript läuft! Klasse!
error_reporting(E_ALL);
ini_set("display_errors", "On");
Diese beiden Zeilen haben den gleichen Effekt wie die Änderung der php.ini-Einträge wie oben! Großartig!
Ich erhalte immer noch eine leere Seite/500 Fehler!
Das bedeutet, dass das Skript noch gar nicht gelaufen war! Das passiert normalerweise, wenn Sie einen Syntaxfehler haben!
Bei Syntaxfehlern kommt das Skript nicht einmal zur Laufzeit. Es scheitert an Kompilierzeit Das bedeutet, dass die Werte in der php.ini verwendet werden, die, wenn Sie sie nicht geändert haben, die Anzeige von Fehlern möglicherweise nicht zulassen.
Fehlerprotokolle
Darüber hinaus protokolliert PHP standardmäßig Fehler. Bei gemeinsam genutztem Hosting kann es sich in einem eigenen Ordner oder im selben Ordner wie das fehlerhafte Skript befinden.
Wenn Sie Zugriff auf die php.ini haben, finden Sie diese unter der error_log
Eintrag.
1 Stimmen
coding.smashingmagazine.com/2011/11/30/
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
Anleitung dazu: code2real.blogspot.com/2015/06/
0 Stimmen
Wenn Sie einen Parse-Fehler haben, funktioniert bei vielen Webhosts nichts davon, und Sie haben möglicherweise keinen Zugriff auf die Fehlerprotokolle. Sie müssen php auf Ihrem lokalen Rechner installieren (XAMPP unter Windows usw.) und einen Synax-Check auf der Kommandozeile durchführen
php.exe -l <your file name>