Fehlertyp
Aufgrund der cleveren Einstellung des Fehlertyps Ganzzahlwert kann der bitweise Operator verwendet werden
1 E_ERROR (Ganzzahl)
Schwerwiegender Laufzeitfehler. Bei dieser Art von Fehler handelt es sich im Allgemeinen um eine nicht behebbare Situation, beispielsweise um ein Problem, das durch die Speicherzuweisung verursacht wird.
Führt dazu, dass das Skript beendet wird und nicht weiter ausgeführt wird
Beispiel: Aufruf einer undefinierten Funktion, es gibt eine nicht abgefangene Ausnahme
2 E_WARNING (Ganzzahl)
Laufzeitwarnung (nicht schwerwiegend Fehler)
gibt nur eine Aufforderungsmeldung aus, aber das Skript wird nicht beendet.
4 E_PARSE (Ganzzahl)
Fehler beim Parsen der Syntax bei der Kompilierung.
Analysefehler werden nur vom Parser generiert.
register_shutdown_function kann diesen Fehler, der in dieser Datei aufgetreten ist, nicht erfassen
8 E_NOTICE (Ganzzahl)
Laufzeitbenachrichtigung. Zeigt an, dass das Skript auf eine Situation stößt, die als Fehler erscheinen kann, aber es kann auch ähnliche Benachrichtigungen in Skripten geben, die normal ausgeführt werden können
Beispiel: Verwendung undefinierter Variablen
16 E_CORE_ERROR (Ganzzahl)
Schwerwiegender Fehler beim Start der PHP-Initialisierung.
Dieser Fehler ähnelt E_ERROR, wird jedoch vom Kern der PHP-Engine generiert.
32 E_CORE_WARNING (Ganzzahl)
Warnung (nicht schwerwiegender Fehler) ist während des PHP-Initialisierungsstarts aufgetreten
Ähnlich wie E_WARNING, aber vom PHP-Engine-Kern generiert
E_COMPILE_
Kompilierungsbezogen
64 E_COMPILE_ERROR (Ganzzahl)
Schwerwiegender Fehler bei der Kompilierung. Ähnlich wie E_ERROR, jedoch von der Zend-Skript-Engine generiert. seit PHP 4
128 E_COMPILE_WARNING (integer)
Warnung zur Kompilierungszeit (nicht schwerwiegender Fehler). Ähnlich wie E_WARNING, jedoch von der Zend-Skript-Engine generiert.
E_USER_
Benutzergenerierte
256 E_USER_ERROR (Ganzzahl)
Benutzergenerierte Fehlermeldung. Ähnlich wie E_ERROR, wird jedoch vom Benutzer mithilfe der PHP-Funktion trigger_error() im Code generiert. seit PHP 4
512 E_USER_WARNING (integer)
Vom Benutzer generierte Warnmeldung. Ähnlich wie E_WARNING, wird jedoch vom Benutzer mithilfe der PHP-Funktion trigger_error() im Code generiert. seit PHP 4
1024 E_USER_NOTICE (integer)
Vom Benutzer generierte Benachrichtigungsinformationen. Ähnlich wie E_NOTICE, aber vom Benutzer mithilfe der PHP-Funktion trigger_error() im Code generiert
2048 E_STRICT (Ganzzahl)
Aktivieren Sie PHPs Vorschläge für Codeänderungen, um sicherzustellen, dass der Code das Beste bietet Qualität Beste Interoperabilität und Vorwärtskompatibilität.
4096 E_RECOVERABLE_ERROR (Ganzzahl)
Ein schwerwiegender Fehler, der abgefangen werden kann. Es weist darauf hin, dass ein potenziell gefährlicher Fehler aufgetreten ist, der jedoch noch nicht dazu geführt hat, dass sich die PHP-Engine in einem instabilen Zustand befindet. Wenn der Fehler nicht von einem benutzerdefinierten Handler (set_error_handler()) abgefangen wird, wird er zu E_ERROR und das Skript wird beendet.
8192 E_DEPRECATED (Ganzzahl)
Laufzeitbenachrichtigung.
Wenn diese Option aktiviert ist, wird eine Warnung vor Code ausgegeben, der in zukünftigen Versionen möglicherweise nicht richtig funktioniert.
16384 E_USER_DEPRECATED (Ganzzahl)
Benutzergenerierte Warnmeldung. Ähnlich wie E_DEPRECATED, wird jedoch vom Benutzer mithilfe der PHP-Funktion trigger_error() im Code generiert.
30719 E_ALL (integer)
E_STRICT Alle ausgehenden Fehler und Warnmeldungen
Fehlerbehandlungsbezogene Funktionen
error_reporting
int error_reporting ( [ int $level ] )
Legen Sie fest, welche Art von PHP-Fehlern gemeldet werden sollen
// Alle PHP-Fehlerberichte schließen und eine neue Fehlerberichtsebene zurückgeben error_reporting(0);/ / Einfache laufende Fehler meldenerror_reporting(E_ERROR | E_WARNING | E_PARSE);
Wenn keine Parameter verwendet werden, wird die aktuelle Fehlerberichtsstufe zurückgegeben
error_get_last
Letzte abrufen Fehler, der aufgetreten ist, register_shutdown_function() verwendet oft
array error_get_last (void)
, um das Ergebnis zurückzugeben
Array(
[type] => 8
[message] => Undefinierte Variable: a [file] => C:WWWindex.php [line] => eine Fehler-/Warnungs-/Hinweisinformation auf Benutzerebene
error_log
Fehlerinformationen senden an das Webserver-Fehlerprotokoll oder eine Datei, es wird erstellt, wenn die Datei nicht existiert
message_type
Legen Sie fest, wohin Fehler gesendet werden sollen0 Nachricht wird an das PHP-Systemprotokoll gesendet, wobei je nach Einstellung der Protokollierungsmechanismus des Betriebssystems oder eine Datei verwendet wird von error_log in php.ini. Dies ist die Standardoption.
1 Nachricht wird an die durch den Zielparameter festgelegte E-Mail-Adresse gesendet. Der vierte Parameter extra_headers wird nur in diesem Typ verwendet.
3 Die Nachricht wird an die Datei am Ziel gesendet. Die Zeichennachricht wird standardmäßig nicht als neue Zeile behandelt.
4 Nachrichten werden direkt an den Protokollhandler von SAPI gesendet
set_error_handler()
Legen Sie eine benutzerdefinierte Fehlerbehandlungsfunktion fest, um Fehler zu behandeln, die im Skript auftreten
In error_types angegebene Fehlertypen umgehen den PHP-Standardfehlerhandler, es sei denn, die Rückruffunktion gibt FALSE zurück. Die Einstellung „error_reporting()“ hat keine Auswirkung und Ihr Fehlerhandler wird weiterhin aufgerufen. Es liegt in Ihrer Verantwortung, die() bei Bedarf zu verwenden.
HINWEISDie folgenden Fehlerstufen können nicht von benutzerdefinierten Funktionen behandelt werden: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING und die meisten E_STRICT
, die in der Datei generiert werden, in der sich die Funktion set_error_handler() befindet aufgerufen.
handler ( int $errorLevel , string $errorMessage [, string $errfile [, int $errline [, array $errcontext ]]] )
errcontext , Ja Ein Array, das auf die aktive Symboltabelle zeigt, als der Fehler auftrat. Das heißt, errcontext enthält ein Array aller Variablen in dem Bereich, in dem der Fehler ausgelöst wurde. Der Fehlerhandler des Benutzers sollte den Fehlerkontext nicht ändern.
set_Exception_handler
register_shutdown_function
Diese Funktion ist eine Funktion, die nach dem Ende des Skripts ausgeführt wird (unabhängig davon, ob es normal endet oder durch Beenden oder Fehler endet).
error_reporting = E_ALL // Fehlerstufe melden, welche Stufe error_log = /tmp/php_errors.log // Speicherort der Fehleranzeige in PHP protokollieren display_errors = On // Ob Fehler in der Ausgabe angezeigt werden sollen, diese Ausgabe kann eine Seite sein, oder es kann sein: stdoutdisplay_startup_errors = On // Ob die Fehlerinformationen des Startvorgangs auf der Seite angezeigt werden sollen. Denken Sie daran, dass beim Start mehrere Fehler vom Typ Core auftreten . log_errors = On // Ob Fehlerprotokolle aufgezeichnet werden log_errors_max_len = 1024 // Maximale Länge des Fehlerprotokollsignore_repeated_errors = Off // Ob wiederholte Fehler ignoriert werden sollen track_errors = Off // Ob die globale Variable $php_errormsg zum Aufzeichnen des letzten Fehlers verwendet werden soll xmlrpc_errors = 0 //Ob das XML-RPC-Fehlermeldungsformat zum Aufzeichnen von Fehlern verwendet werden soll xmlrpc_error_number = 0 // Wird als Wert des XML-RPC-FaultCode-Elements verwendet. html_errors = On // Ob die Funktionen und andere Informationen in der Ausgabe in HTML-Links umgewandelt werden sollen docref_root = http://manual/en/ // Wenn html_errors aktiviert ist, was ist der Stammpfad dieses Links fastcgi.logging = 0 // Ob PHP-Fehler in fastcgi geworfen werden sollen
PHP verwendet standardmäßig das Protokoll und die Standardausgabe (im FPM-Modus ist die Standardausgabe die Seite)
Der Parameter von error_reporting ist die Fehlerstufe. Gibt an, welche Ebene einen Fehler auslösen soll
display_errors steuert, ob Fehlerinformationen auf der Standardausgabe angezeigt werden sollen
log_errors steuert, ob Fehlerinformationen im Protokoll aufgezeichnet werden sollen
error_log ist der Ort, an dem Fehlerprotokolle angezeigt werden
<br/>