Wie kann man PHP Fehler anzeigen lassen?

Gerade als ich mit dem Programmieren in PHP angefangen habe, stand ich so manches Mal vor dem Problem, dass mir das Problem nicht klar war…

Alles was ich im Browser gesehen habe, war eine leere, weiße Seite. Keine Fehlermeldung weit und breit…

…auch bekannt als "White Screen Of Death".

picture by Filip Baotic on Unsplash




Um ein Problem lösen zu können, muss man es aber zuerst einmal erkennen.

Deshalb macht es immer Sinn, Fehlermeldungen in PHP während der Entwicklung einzuschalten.

Mittlerweile habe ich Erfahrung gesammelt und dazu gelernt.

Das folgende Code-Snippet steht jetzt immer in meinen Header (oder in einer andere Datei, die auf einzelnen Unterseite der Webseite, an der ich gerade arbeite, angezeigt wird):

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);



Was bedeuten diese Zeilen?

Die ini_set Funktion versucht Konfigurationen, die eventuell in einer php.ini vorgenommen wurden, zu überschreiben.


display_errors ist ein Befehl der bestimmt ob Fehler angezeigt oder versteckt werden. In Kombination mit der Einstellung 1 bestimmt er, Fehler anzuzeigen.


display_startup_errors findet Fehler in der Startsequenz von PHP. Auch hier legt die Kombination mit dem Wert 1 fest, dass gefundene Fehler ausgeworfen werden.



Diese drei Zeilen zeigen aber leider keine Parsingfehler an…

Um also auch vergessene Klammern oder Semicolons anzeigen zu lassen, kommt dieser Code in die php.ini Datei (dann Webserver neu starten):

display_errors = on


ODER dieser Code in the .htaccess Datei:

php_flag display_startup_errors on
php_flag display_errors on

Welche von beiden Versionen du benutzt, hängt vor Allem davon ab auf welche Dateien du als Entwickler Zugriff hast. In der Regel wird das mindestens die .htaccess Datei sein.



Was genau bewirkt der Code jeweils?

Die Zeile display_errors = on in der php.ini Datei bewirkt, dass Parsingfehler – also Syntaxfehler, wie zum Beispiel ein vergessenes Semicolon – als Fehlermeldung im Browser ausgegeben werden.



Ich selbst nutze am Liebsten die .htaccess Methode.

Der Vorteil bei dieser Variante ist, dass man für die Entwicklung und Distribution verschiedene Dateien werden kann.

Du kannst also für die Entwicklung eine .htaccess Datei benutzen, wo php_flag display_startup_errors on und php_flag display_errors on dir Fehlermeldungen anzeigen.

Für die Distribution – also für die Version einer Webseite oder Applikation die veröffentlicht wird – sollten Fehlermeldungen natürlich nicht ausgegeben werden. Was für die Entwicklung hilfreich ist, würde UserInnen nur unschön ins Auge fallen…

Du hast also eine .htaccess Datei für die Entwicklung – und bevor du deine Webseite oder Applikation zur Distribution frei gibst, tauschst du diese .htaccess Datei mit einer aus, wo Fehlermeldungen ausgeschaltet sind.

Das ist schnell und einfach, weil es den Vorteil hat, dass du nicht Zeile für Zeile durchgehen musst, jedes Mal wenn du den Code überarbeiten möchtest (oder musst, weil ein externes Update einen Fehler reingehauen hat).




Hat dir mein Tipp geholfen oder kanntest du ihn bereits?

Welche Methoden benutzt du?
Auf jeden Fall: Danke fürs Lesen! 🙂


Diese Webseiten könnten dich interessieren:

Weitere Infos zum PHP Error-Reporting:
https://www.php.net/manual/de/function.error-reporting.php

Komplettes PHP Tutorial für Einsteiger:
https://youtu.be/pWG7ajC_OVo

→ Veröffentlicht am 02/05/2020 in CSS, Code & Co

→ Schlagwörter: , , , Einloggen um den Post zu editieren.

0 comments on “Wie kann man PHP Fehler anzeigen lassen?

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.