PHP-Fehler Einführung
Die Fehlerfunktionen werden verwendet, mit Fehlerbehandlung und Protokollierung beschäftigen.
Die Fehlerfunktionen ermöglichen es uns, eigene Fehlerbehandlung Regeln zu definieren und ändern die Art und Weise der Fehler protokolliert werden können.
Die Logging-Funktionen ermöglichen es uns, Nachrichten an anderen Maschinen direkt zu senden, E-Mails oder Systemprotokolle.
Die Fehlerberichtsfunktionen ermöglichen es uns, auf welcher Ebene und Art der Fehlerrückmeldung anpassen gegeben.
Installation
Die PHP Fehlerfunktionen sind Bestandteil des PHP-Kern. Eine Installation ist nicht erforderlich, um diese Funktionen zu nutzen.
Laufzeit-Konfiguration
Das Verhalten der Fehlerfunktionen wird durch Einstellungen in der php.ini beeinflusst.
Fehler und Protokollierung Konfigurationsoptionen:
Name | Standard | Beschreibung | änderbar |
---|---|---|---|
Fehler melden | NULL | Stellt die Fehlerberichtsebene (entweder eine ganze Zahl oder Namen Konstanten) | PHP_INI_ALL |
display_errors | "1" | Gibt an, ob Fehler auf dem Bildschirm ausgegeben werden sollen, oder wenn sie von dem Benutzer verborgen werden soll. Hinweis: Diese Funktion sollte niemals auf Produktionssystemen verwendet werden (nur Ihre Entwicklung zu unterstützen) | PHP_INI_ALL |
display_startup_errors | "0" | Selbst wenn display_errors eingeschaltet ist, Fehler, die während der PHP-Startsequenz auftreten, werden nicht angezeigt Hinweis: Es wird dringend empfohlen , display_startup_errors zu halten, außer für das Debuggen | PHP_INI_ALL |
log_errors | "0" | Legt fest, ob Skript Fehlermeldungen sollten auf den Server des Fehlerprotokoll oder error_log protokolliert werden. Hinweis: Es wird dringend empfohlen , die Fehlerprotokollierung statt Fehler zu verwenden , die Anzeige auf der Produktion Web - Sites | PHP_INI_ALL |
log_errors_max_len | "1024" | Legt die maximale Länge von log_errors in Bytes. Der Wert "0" kann verwendet werden , um überhaupt keine maximale Länge gelten. Diese Länge eingeloggte Fehler angewandt wird, angezeigt Fehler, und auch auf $ php_errormsg (available since PHP 4.3) | PHP_INI_ALL |
ignore_repeated_errors | "0" | Gibt an, ob wiederholt Fehlermeldungen zu protokollieren. Bei Einstellung auf "1" wird es nicht bei wiederholtem Fehler aus der gleichen Datei auf der gleichen Linie Fehler protokollieren (available since PHP 4.3) | PHP_INI_ALL |
ignore_repeated_source | "0" | Gibt an, ob wiederholt Fehlermeldungen zu protokollieren. Bei Einstellung auf "1" wird es nicht mit wiederholten Fehlern aus verschiedenen Dateien oder Quellenleitungen Fehler protokolliert (available since PHP 4.3) | PHP_INI_ALL |
report_memleaks | "1" | Bei der Einstellung auf "1" (the default) , wird dieser Parameter einen Bericht von Speicherlecks durch die Zend - Speicher - Manager erkannt zeigen (available since PHP 4.3) | PHP_INI_ALL |
track_errors | "0" | Bei der Einstellung auf "1" , die letzte Fehlermeldung wird immer in dem Variablen $ php_errormsg vorhanden sein | PHP_INI_ALL |
html_errors | "1" | Erlischt HTML-Tags in Fehlermeldungen | PHP_INI_ALL PHP_INI_SYSTEM in PHP <= 4.2.3. |
xmlrpc_errors | "0" | Schaltet normale Fehlerberichterstattung und Formate Fehler als XML-RPC - Fehlermeldung ab (available since PHP 4.1) | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | Wird als Wert des XML-RPC faultCode Element (available since PHP 4.1) | PHP_INI_ALL |
docref_root | „“ | (Verfügbar seit PHP 4.3) | PHP_INI_ALL |
docref_ext | „“ | (Verfügbar seit PHP 4.3.2) | PHP_INI_ALL |
error_prepend_string | NULL | Gibt eine Zeichenkette ausgibt, bevor eine Fehlermeldung | PHP_INI_ALL |
error_append_string | NULL | Gibt eine Zeichenfolge zur Ausgabe nach einer Fehlermeldung | PHP_INI_ALL |
Fehlerprotokoll | NULL | Gibt den Namen der Datei, in Skriptfehler protokolliert werden sollen. Die Datei sollte durch den Webserver des Benutzer beschreibbar sein. Wenn der spezielle Wert syslog verwendet wird, werden die Fehler an den Systemlogger gesendet statt | PHP_INI_ALL |
Funktionen PHP-Fehler und Protokollierung
Funktion | Beschreibung |
---|---|
debug_backtrace() | Erzeugt einen Backtrace |
debug_print_backtrace() | Druckt einen Backtrace |
error_get_last() | Liefert die zuletzt aufgetretenen Fehler |
error_log() | Sendet eine Fehlermeldung in ein Protokoll, in eine Datei oder auf ein Mail-Konto |
error_reporting() | Gibt an, welche Fehler gemeldet werden |
restore_error_handler() | Stellt die zuvor benutzte Fehlerbehandlungs |
restore_exception_handler() | Stellt die vorherigen Exception-Handler |
set_error_handler() | Setzt eine benutzerdefinierte Fehlerbehandlungsfunktion |
set_exception_handler() | Setzt eine benutzerdefinierte Exception-Handler-Funktion |
trigger_error() | Erstellt eine Fehlermeldung auf Benutzerebene |
user_error() | Alias von trigger_error() |
PHP 5 Vordefinierte Fehler und Protokollierung Konstanten
Wert | Konstante | Beschreibung |
---|---|---|
1 | E_ERROR | Fatal Laufzeitfehler. Fehler, die aus werden nicht gestellt. Die Ausführung des Skripts wird gestoppt |
2 | E_WARNING | Laufzeit Warnungen (non-fatal errors) . Die Ausführung des Skripts nicht angehalten wird, |
4 | E_PARSE | Kompilierung-Fehler analysieren. Parsen Fehler sollten nur vom Parser erzeugt werden |
8 | E_NOTICE | Laufzeit bemerkt. Das Skript etwas gefunden, dass ein Fehler sein könnte, könnte aber auch passieren, wenn ein Skript läuft normal |
16 | E_CORE_ERROR | Schwerwiegende Fehler bei PHP-Start. Das ist wie E_ERROR, außer es durch den Kern von PHP erzeugt wird |
32 | E_CORE_WARNING | Nicht-fatale Fehler bei PHP-Start. Das ist wie E_WARNING, außer es durch den Kern von PHP erzeugt wird |
64 | E_COMPILE_ERROR | Fatal Kompilierung-Fehler. Das ist wie E_ERROR, außer es von der Zend Scripting Engine erzeugt wird, |
128 | E_COMPILE_WARNING | Nicht-tödliche Kompilierung-Fehler. Das ist wie E_WARNING, außer es von der Zend Scripting Engine erzeugt wird, |
256 | E_USER_ERROR | Fatal Nutzer erzeugten Fehler. Dies ist wie E_ERROR, außer es ist in PHP - Code erzeugt wird , indem die PHP - Funktion trigger_error() |
512 | E_USER_WARNING | Nicht-tödliche user-generated Warnung. Dies ist wie E_WARNING, außer es ist in PHP - Code erzeugt wird , indem die PHP - Funktion trigger_error() |
1024 | E_USER_NOTICE | Nutzergenerierte Mitteilung. Dies ist wie E_NOTICE, außer es ist in PHP - Code erzeugt wird , indem die PHP - Funktion trigger_error() |
2048 | E_STRICT | Aktivieren, um Ihren PHP-Code Änderungen vorschlagen haben, die die beste Interoperabilität und zukünftige Kompatibilität Ihres Codes gewährleisten (Seit PHP 5, aber nicht in E_ALL bis PHP 5.4 enthielt) |
4096 | E_RECOVERABLE_ERROR | Abfangbare fatale Fehler. Zeigt an, dass ein wahrscheinlich gefährlichen Fehler aufgetreten ist, aber nicht den Motor in einem instabilen Zustand verlassen. Wenn der Fehler nicht durch einen Benutzer definiert Griff gefangen wird, bricht die Anwendung , wie es war ein E_ERROR (Since PHP 5.2) |
8192 | E_DEPRECATED | Laufzeit bemerkt. Aktivieren Sie diese Option erhalten Warnungen über Code, der nicht in zukünftigen Versionen funktionieren (Since PHP 5.3) |
16384 | E_USER_DEPRECATED | Nutzergenerierte Warnmeldung. Dies ist wie E_DEPRECATED, außer es ist in PHP - Code erzeugt wird durch Verwendung der PHP - Funktion trigger_error() (Da PHP 5.3) |
32767 | E_ALL | Aktivieren Sie alle PHP - Fehler und Warnungen (except E_STRICT in versions < 5.4) |