Hallo,
Seit einiger Zeit programmiere ich in PHP z. B. Macros zun Ermitteln der Herkunft der Aufrufe meiner Internet Seiten.
Ist es in PHP moeglich, einen Error Handler zu schreiben, der schon Fehler meldet, die zum Zeitpunkt des Kompilierens erkannt werden?
Bei Syntaxfehlern, die schon beim Kompilieren auftreten, stoppt PHP nur und haengt. Da moechte ich, wenn es geht, gern den Grund mitgeteilt bekommen und auf jeden Fall das folgende html ausgefuehrt haben.
Letztens hatte ich versehentlich bei einer "if" Anweisung eine "Kammer zu" zuviel eingebracht. Das hatte einen weissen Bildschirm im Firefox zur Folge und das nachfolgende html etc. Programm wurde nicht ausgefuehrt. Ist es moeglich, in in solchen Faellen, wo der Kompiler ein Syntaxproblem erkennt, PHP automatisch abzubrechen und das folgende html auszufuehren?
MfG
Sigi Saudi
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Da musst du zwei unterschiedliche Dinge beachten:
Ausgabe der Fehler an den Browser musst du per php.ini serverseitig einstellen über die Direktiven
display_errors und error_reporting.
http://www.php.net/manual/de/errorfunc.configuration.php
Um trotz Fehlern das Skript auszuführen, musst du mit try...catch arbeiten um Ausnahmefehler abzufangen:
http://php.net/manual/de/language.exceptions.php
Für Syntaxfehler ist das aber kein eleganter Weg, die sollte man tatsächlich schnellstmöglich beheben :-)
Setze zur Entwicklung und zum Testen des Codes eine Testmaschine ein, auf der du die Fehlerausgaben möglichst weit zulässt. Auf der Produktivmaschine brauchst du dann nur noch kritische Fehler in eine Logdatei schreiben zu lassen, die du regelmässig überprüfst.