PHP Handbuch | ||
---|---|---|
Zurück | Nach vorne |
Es gibt verschiedene Arten von Fehlermeldungen und Warnungen in PHP. Diese sind:
Tabelle 16-1. PHP Fehlertypen
Wert | Konstante | Beschreibung | Bemerkung |
---|---|---|---|
1 | E_ERROR | Schwere Laufzeitfehler | |
2 | E_WARNING | Laufzeit-Warnungen (keine schweren Fehler) | |
4 | E_PARSE | Fehler beim Parsen während des Kompilierens | |
8 | E_NOTICE | Mitteilungen zur Laufzeit (weniger ernst als Warnungen) | |
16 | E_CORE_ERROR | Schwere Fehler während dem Start von PHP | Nur PHP 4 |
32 | E_CORE_WARNING | Warnungen (keine schweren Fehler) während dem Start von PHP | Nur PHP 4 |
64 | E_COMPILE_ERROR | Schwere Fehler während des Kompilierens | Nur PHP 4 |
128 | E_COMPILE_WARNING | Warnungen (keine schweren Fehler) während des Kompilierens | Nur PHP 4 |
256 | E_USER_ERROR | Vom Benutzer erzeugte Fehlermeldung | Nur PHP 4 |
512 | E_USER_WARNING | Vom Benutzer erzeugte Warnung | Nur PHP 4 |
1024 | E_USER_NOTICE | Vom Benutzer erzeugte Mitteilungen | Nur PHP 4 |
E_ALL | Alle der oben genannten, welche unterstützt werden |
Aus den obigen Werten (numerisch oder symbolisch) wird eine Bitmaske erstellt, welche die zu meldenden Fehler angibt. Sie können die Bit-Operatoren verwenden um diese Werte zu kombinieren, oder um bestimmte Fehlertypen auszunehmen. Beachten Sie, dass innerhalb der php.ini nur '|', '~', '!', und '&' erkannt werden, und dass innerhalb der php3.ini keine Bit-Operatoren möglich sind.
In PHP 4 ist die Standardeinstellung für error_reporting E_ALL & ~E_NOTICE, d.h. es werden abgesehen vom E_NOTICE-Level alle Fehler und Warnungen angezeigt. In PHP 3 ist die Standardeinstellung (E_ERROR | E_WARNING | E_PARSE), was das gleiche bedeutet. Beachten Sie, dass in der php3.ini von PHP 3 keine Konstanten unterstützt werden, d.h. die Einstellungen von error_reporting müssen numerisch angegeben werden, in diesem Fall 7.
Die Anfangseinstellung kann in der ini Datei mittels der error_reporting Direktive, sowie in Ihrer Apache httpd.conf Datei mittels der php_error_reporting (php3_error_reporting in PHP 3) Direktive geändert werden. Sie kann aber auch während der Laufzeit innerhalb eines Skriptes mittels der Funktion error_reporting() gesetzt werden.
Warnung |
Während eines Upgrades Ihres Codes oder Servers von PHP 3 auf PHP 4 sollten Sie diese Einstellungen und Aufrufe von error_reporting() kontrollieren, sonst könnten Sie die Meldung neuer Fehlertypen, speziell E_COMPILE_ERROR, deaktivieren. Dies könnte dazu führen, dass Sie ein leeres Dokument ohne jeden Hinweis auf die Ursache des Problems erhalten. |
Alle PHP Ausdrücke können auch mit dem Präfix "@" aufgerufen werden, welches Fehlermeldungen für diesen bestimmten Ausdruck deaktiviert. Ist während solch einem Ausdruck ein Fehler aufgetreten und track_errors aktiviert, finden Sie diese Fehlermeldung in der globalen Variable $php_errormsg.
Anmerkung: Der @ Fehler-Kontroll-Operator verhindert jedoch keine Meldungen, welche aus Fehlern beim Parsen resultieren.
Warnung |
Derzeit deaktiviert der @ Fehler-Kontroll-Operator auch Meldungen von kritischen Fehlern, welche die Ausführung des Skriptes abbrechen. Unter anderem heißt das, dass wenn Sie @ zur Unterdrückung von Fehlermeldungen einer bestimmten Funktion verwenden, im Falle des Fehlens der Funktion bzw. eines Tippfehlers die Ausführung des Skriptes genau dort ohne Anzeichen warum abgebrochen. |
Nachstehend finden Sie ein Beispiel für die Verwendung der Möglichkeiten zur Fehlerbehandlung in PHP. Wir definieren eine Funktion zur Fehlerbehandlung, welche die Information in eine Datei schreibt (im XML Format), und im Falle von schweren Fehlern in der Logik dem Entwickler ein E-Mail sendet.
Error Handling and Logging functions.Siehe auch error_reporting(), error_log(), set_error_handler(), restore_error_handler(), trigger_error(), user_error()
Zurück | Zum Anfang | Nach vorne |
Features | Nach oben | Erzeugen und Verändern von Bildern |