Mit den Fehler- und Protokollierungsfunktionen können Sie Fehler behandeln und protokollieren.
Mit der Fehlerfunktion kann der Benutzer Fehlerbehandlungsregeln definieren und die Art und Weise ändern, wie Fehler protokolliert werden.
Mit der Protokollierungsfunktion können Benutzer Anwendungen protokollieren und Protokollnachrichten an E-Mails, Systemprotokolle oder andere Computer senden.
Die Fehlerfunktion wird durch die Konfigurationsdatei php.ini beeinflusst.
Optionen zur Fehler- und Protokollkonfiguration:
Parameter | Standardwert | beschreiben | Modifizierbarer Bereich |
---|---|---|---|
error_reporting | NULL | Legt die Fehlerstufe von PHP fest und gibt die aktuelle Stufe zurück (Zahl oder Konstante). | PHP_INI_ALL |
display_errors | „1“ | Diese Option legt fest, ob Fehlermeldungen als Teil der Ausgabe auf dem Bildschirm angezeigt oder für den Benutzer ausgeblendet werden. Hinweis: Diese Funktion sollte nicht in der Produktionsumgebung verwendet werden (wird während der Entwicklung und beim Testen verwendet). | PHP_INI_ALL |
display_startup_errors | „0“ | Auch wenn display_errors auf „on“ gesetzt ist, werden Fehlermeldungen während des PHP-Starts nicht angezeigt. Es wird dringend empfohlen, display_startup_errors außer zu Debugging-Zwecken auf „off“ zu setzen. | PHP_INI_ALL |
log_errors | „0“ | Legen Sie fest, ob Informationen zu Skriptausführungsfehlern im Serverfehlerprotokoll oder im Fehlerprotokoll aufgezeichnet werden sollen. Beachten Sie, dass es sich hierbei um ein serverspezifisches Konfigurationselement handelt. | PHP_INI_ALL |
log_errors_max_len | „1024“ | Legen Sie die maximale Anzahl von Bytes in log_errors fest. Informationen über die Fehlerquelle werden zu error_log hinzugefügt. Der Standardwert ist 1024. Bei der Einstellung 0 gibt es keine Begrenzung der Länge. Diese Längeneinstellung hat eine begrenzende Wirkung auf protokollierte Fehler, angezeigte Fehler und $php_errormsg. | PHP_INI_ALL |
ignorieren_wiederholte_Fehler | „0“ | Doppelte Informationen werden nicht protokolliert. 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“ | Wenn doppelte Nachrichten ignoriert werden, wird auch die Quelle der Nachricht ignoriert. Wenn diese Einstellung aktiviert ist, wird bei doppelten Nachrichten nicht erfasst, ob sie von unterschiedlichen Dateien oder unterschiedlichen Quellcodezeilen generiert wurden. | PHP_INI_ALL |
report_memleaks | „1“ | Wenn dieser Parameter auf „Aus“ gesetzt ist, werden keine Informationen zu Speicherlecks angezeigt (in stdout oder Protokollen). | PHP_INI_ALL |
track_errors | „0“ | Wenn aktiviert, wird der letzte Fehler immer in der Variablen $php_errormsg vorhanden sein. | PHP_INI_ALL |
html_errors | „1“ | Schließen Sie HTML-Tags in Fehlermeldungen. | PHP_INI_ALLPHP_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 für das XML-RPC-FaultCode-Element verwendet. | PHP_INI_ALL |
docref_root | „“ | Das neue Fehlermeldungsformat enthält eine entsprechende Referenzseite, die den Fehler konkret beschreibt oder die Funktion beschreibt, die den Fehler verursacht hat. Um Handbuchseiten bereitzustellen, können Sie das entsprechende Sprachhandbuch von der offiziellen PHP-Website herunterladen und die URL in der INI auf die entsprechende lokale Adresse setzen. Wenn auf Ihre lokale Kopie des Handbuchs über „/manual/“ zugegriffen werden kann, können Sie einfach docref_root=/manual/ festlegen. Darüber hinaus müssen Sie docref_ext so einstellen, dass es mit dem Suffix Ihrer lokalen Datei docref_ext=.html übereinstimmt. Natürlich können Sie auch eine externe Referenzadresse festlegen. Sie können beispielsweise 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 | Der Inhalt, der vor der Fehlermeldung ausgegeben wird. | PHP_INI_ALL |
error_append_string | NULL | Der nach der Fehlermeldung ausgegebene Inhalt. | PHP_INI_ALL |
error_log | NULL | Legt die Datei fest, in der Skriptfehler protokolliert werden. Die Datei muss vom Webserverbenutzer beschreibbar sein. | PHP_INI_ALL |
Die Fehler- und Protokollierungsfunktionen gehören zum Kern von PHP. Für die Nutzung dieser Funktionen ist keine Installation erforderlich.
PHP : Gibt die früheste PHP-Version an, die diese Funktion unterstützt.
Funktion | beschreiben | PHP |
---|---|---|
debug_backtrace() | Backtrace generieren. | 4 |
debug_print_backtrace() | Backtrace drucken. | 5 |
error_get_last() | Rufen Sie den letzten aufgetretenen Fehler ab. | 5 |
error_log() | Senden Sie einen Fehler an das Server-Fehlerprotokoll, die Datei oder das Remote-Ziel. | 4 |
error_reporting() | Gibt an, welcher Fehler gemeldet werden soll. | 4 |
wiederherstellen_error_handler() | Stellen Sie den vorherigen Fehlerhandler wieder her. | 4 |
wiederherstellen_Exception_handler() | Stellen Sie den vorherigen Ausnahmehandler wieder her. | 5 |
set_error_handler() | Legen Sie eine benutzerdefinierte Fehlerbehandlungsfunktion fest. | 4 |
set_Exception_handler() | Legen Sie eine benutzerdefinierte Ausnahmebehandlungsfunktion fest. | 5 |
trigger_error() | Erstellen Sie benutzerdefinierte Fehlermeldungen. | 4 |
user_error() | Alias für trigger_error(). | 4 |
PHP : Gibt die früheste PHP-Version an, die diese Konstante unterstützt.
Wert | Konstante | beschreiben | PHP |
---|---|---|---|
1 | E_ERROR | Schwerwiegender Laufzeitfehler. Nicht behebbare Fehler. Stoppen Sie die Ausführung des Skripts. | |
2 | E_WARNUNG | Nicht schwerwiegender Laufzeitfehler. Die Skriptausführung wird nicht gestoppt. | |
4 | E_PARSE | Fehler beim Parsen der Kompilierungszeit. Parsing-Fehler sollten nur vom Parser generiert werden. | |
8 | E_NOTICE | Laufzeitbenachrichtigungen. Die Skripterkennung kann ein Fehler sein, kann aber auch beim normalen Ausführen eines Skripts auftreten. | |
16 | E_CORE_ERROR | Schwerwiegender Fehler beim PHP-Start. Dies ist genau wie E_ERROR des PHP-Kerns. | 4 |
32 | E_CORE_WARNING | Nicht schwerwiegender Fehler beim Starten von PHP. Dies ist genau wie die E_WARNING des PHP-Kerns. | 4 |
64 | E_COMPILE_ERROR | Schwerwiegender Fehler bei der Kompilierung. Dies ist genau wie der E_ERROR, der von der Zend-Skript-Engine generiert wird. | 4 |
128 | E_COMPILE_WARNING | Nicht schwerwiegender Fehler bei der Kompilierung. Dies ist wie eine E_WARNING, die von der Zend-Skript-Engine generiert wird. | 4 |
256 | E_USER_ERROR | Vom Benutzer generierter schwerwiegender Fehler. Dies ähnelt dem E_ERROR, der vom Programmierer mit der PHP-Funktion trigger_error() generiert wird. | 4 |
512 | E_USER_WARNING | Vom Benutzer generierter, nicht schwerwiegender Fehler. Dies ist wie eine E_WARNING, die vom Programmierer mit der PHP-Funktion trigger_error() generiert wird. | 4 |
1024 | E_USER_NOTICE | Vom Benutzer generierte Benachrichtigungen. Dies ähnelt der E_NOTICE, die der Programmierer mit der PHP-Funktion trigger_error() generiert. | 4 |
2048 | E_STRICT | Laufzeitbenachrichtigungen. PHP empfiehlt, dass Sie Änderungen an Ihrem Code vornehmen, um die Interoperabilität und Kompatibilität des Codes zu verbessern. | 5 |
4096 | E_RECOVERABLE_ERROR | Abfangbare schwerwiegende Fehler. Dies ist wie ein E_ERROR, der von einem benutzerdefinierten Handle abgefangen werden kann (siehe set_error_handler()). | 5 |
6143 | E_ALL | Alle Fehler- und Warnstufen außer E_STRICT (seit PHP 6.0 wird E_STRICT Teil von E_ALL sein). | 5 |