PHP Fehler- und LoggingFunktionen


PHP-Einführung in Fehler und Logging

Fehler- und Logging-Funktionen ermöglichen es Ihnen, Fehler zu behandeln und aufzuzeichnen.

Fehlerfunktionen ermöglichen es Benutzern, Regeln für die Fehlerbehandlung zu definieren und die Art und Weise zu ändern, wie Fehler protokolliert werden.

Logging-Funktionen ermöglichen es Benutzern, Anwendungsaktivitäten zu protokollieren und Protokollnachrichten per E-Mail, an Systemprotokolle oder an andere Maschinen zu senden.


Laufzeitkonfiguration

Die Fehlerfunktionen werden von der Konfigurationsdatei php.ini beeinflusst.

Fehler- und Logging-Konfigurationsoptionen:

Parameter Standardwert Beschreibung Änderbar
error_reporting NULL Legt die PHP-Fehlerberichtsstufe fest und gibt die aktuelle Stufe zurück (numerisch oder als Konstante). PHP_INI_ALL
display_errors "1" Diese Option legt fest, ob Fehlermeldungen als Teil der Ausgabe auf dem Bildschirm angezeigt oder vor dem Benutzer verborgen werden.
Hinweis:Diese Funktionalität sollte nicht in einer Produktionsumgebung verwendet werden (verwenden Sie sie während der Entwicklung und beim Testen).
PHP_INI_ALL
display_startup_errors "0" Selbst wenn display_errors aktiviert ist, werden Fehlermeldungen während des PHP-Starts nicht angezeigt. Es wird dringend empfohlen, display_startup_errors auf off zu setzen, außer zu Debugging-Zwecken. PHP_INI_ALL
log_errors "0" Legt fest, ob Skript-Laufzeitfehler im Server-Fehlerprotokoll oder in error_log protokolliert werden. Beachten Sie, dass dies eine serverspezifische Konfigurationsoption ist. PHP_INI_ALL
log_errors_max_len "1024" Legt die maximale Byteanzahl von log_errors fest. Informationen zur Fehlerquelle werden zu error_log hinzugefügt. Der Standardwert ist 1024. Wenn der Wert auf 0 gesetzt wird, bedeutet das unbegrenzte Länge. Diese Längeneinstellung gilt für protokollierte Fehler, angezeigte Fehler und $php_errormsg. PHP_INI_ALL
ignore_repeated_errors "0" Wiederholte Meldungen nicht protokollieren. Wiederholte Fehler müssen in derselben Codezeile in derselben Datei auftreten, es sei denn, ignore_repeated_source ist auf true gesetzt. PHP_INI_ALL
ignore_repeated_source "0" Beim Ignorieren wiederholter Meldungen wird auch die Quelle der Meldung ignoriert. Wenn diese Einstellung aktiviert ist, wird bei wiederholten Meldungen nicht erfasst, ob sie von verschiedenen Dateien oder verschiedenen Quellcodezeilen erzeugt wurden. PHP_INI_ALL
report_memleaks "1" Wenn dieser Parameter auf Off gesetzt ist, werden Informationen über Speicherlecks nicht angezeigt (auf stdout oder im Log). PHP_INI_ALL
track_errors "0" Wenn aktiviert, steht der letzte Fehler immer in der Variablen $php_errormsg. PHP_INI_ALL
html_errors "1" HTML-Tags in Fehlermeldungen deaktivieren. PHP_INI_ALL
PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors "0" Schaltet die normale Fehlerberichterstattung aus und formatiert Fehler als XML-RPC-Fehlermeldungen. PHP_INI_SYSTEM
xmlrpc_error_number "0" Wird als Wert des XML-RPC-faultCode-Elements verwendet. PHP_INI_ALL
docref_root "" Das neue Fehlermeldungsformat enthält eine entsprechende Referenzseite, die den Fehler speziell beschreibt oder die Funktion beschreibt, die den Fehler verursacht hat.
Um die Handbuchseiten bereitzustellen, können Sie das Handbuch in der entsprechenden Sprache von der offiziellen PHP-Website herunterladen und die URL in ini auf die entsprechende lokale Adresse setzen.
Wenn auf Ihre lokale Handbuchkopie über "/manual/" zugegriffen werden kann, können Sie einfach docref_root=/manual/ setzen.
Sie müssen außerdem docref_ext passend zum Suffix Ihrer lokalen Dateien festlegen, docref_ext=.html. Natürlich können Sie auch eine externe Referenzadresse festlegen.
Zum Beispiel können Sie docref_root=http://manual/en/ oder docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F" festlegen
PHP_INI_ALL
docref_ext "" Siehe docref_root. PHP_INI_ALL
error_prepend_string NULL Inhalt, der vor der Fehlermeldung ausgegeben wird. PHP_INI_ALL
error_append_string NULL Inhalt, der nach der Fehlermeldung ausgegeben wird. PHP_INI_ALL
error_log NULL Legt die Datei fest, in die Skriptfehler protokolliert werden. Diese Datei muss für den Benutzer des Webservers beschreibbar sein. PHP_INI_ALL

Installation

Fehler- und Protokollierungsfunktionen sind Teil des PHP-Kerns. Für die Verwendung dieser Funktionen ist keine Installation erforderlich.


PHP-Fehler- und Logging-Funktionen

PHP: Gibt die früheste PHP-Version an, die diese Funktion unterstützt.

Funktion Beschreibung PHP
debug_backtrace() Erzeugt einen Backtrace. 4
debug_print_backtrace() Gibt einen Backtrace aus. 5
error_get_last() Ruft den zuletzt aufgetretenen Fehler ab. 5
error_log() Sendet einen Fehler an das Server-Fehlerprotokoll, eine Datei oder ein Remote-Ziel. 4
error_reporting() Legt fest, welche Fehler gemeldet werden. 4
restore_error_handler() Stellt den vorherigen Fehler-Handler wieder her. 4
restore_exception_handler() Stellt den vorherigen Exception-Handler wieder her. 5
set_error_handler() Setzt eine benutzerdefinierte Fehler-Handler-Funktion. 4
set_exception_handler() Setzt eine benutzerdefinierte Exception-Handler-Funktion. 5
trigger_error() Erzeugt eine benutzerdefinierte Fehlermeldung. 4
user_error() Alias von trigger_error(). 4


PHP-Fehler- und Logging-Konstanten

PHP: Gibt die früheste PHP-Version an, die diese Konstante unterstützt.

Wert Konstante Beschreibung PHP
1 E_ERROR Fataler Fehler zur Laufzeit. Ein Fehler, der nicht behoben werden kann. Beendet die Skriptausführung.
2 E_WARNING Nicht fataler Fehler zur Laufzeit. Beendet die Skriptausführung nicht.
4 E_PARSE Parse-Fehler zur Kompilierungszeit. Parse-Fehler sollten nur vom Parser erzeugt werden.
8 E_NOTICE Hinweis zur Laufzeit. Das Skript findet etwas, das ein Fehler sein könnte, aber es kann auch bei normaler Ausführung des Skripts auftreten.
16 E_CORE_ERROR Fataler Fehler beim PHP-Start. Dies ist wie E_ERROR aus dem PHP-Kern. 4
32 E_CORE_WARNING Nicht fataler Fehler beim PHP-Start. Dies ist wie E_WARNING aus dem PHP-Kern. 4
64 E_COMPILE_ERROR Fataler Fehler zur Kompilierungszeit. Dies ist wie E_ERROR, das von der Zend Script Engine erzeugt wird. 4
128 E_COMPILE_WARNING Nicht fataler Fehler zur Kompilierungszeit. Dies ist wie E_WARNING, das von der Zend Script Engine erzeugt wird. 4
256 E_USER_ERROR Vom Benutzer erzeugter fataler Fehler. Dies ist wie E_ERROR, das vom Programmierer mithilfe der PHP-Funktion trigger_error() erzeugt wird. 4
512 E_USER_WARNING Vom Benutzer erzeugter nicht fataler Fehler. Dies ist wie E_WARNING, das vom Programmierer mithilfe der PHP-Funktion trigger_error() erzeugt wird. 4
1024 E_USER_NOTICE Vom Benutzer erzeugter Hinweis. Dies ist wie E_NOTICE, das vom Programmierer mithilfe der PHP-Funktion trigger_error() erzeugt wird. 4
2048 E_STRICT Hinweis zur Laufzeit. PHP empfiehlt, dass Sie Ihren Code ändern, um Interoperabilität und Kompatibilität zu verbessern. 5
4096 E_RECOVERABLE Abfangbarer schwerwiegender Fehler. Dies ist wie ein E_ERROR, der von einem benutzerdefinierten Handler abgefangen werden kann (siehe set_error_handler()). 5
6143 E_ALL Alle Fehler- und Warnstufen, außer E_STRICT (ab PHP 6.0 wird E_STRICT Teil von E_ALL sein). 5
Andere Erweiterungen