Bei unserer Programmentwicklung stoßen wir häufig auf einige Programmausführungsfehler. PHP gibt je nach Fehlerstufe des Programms unterschiedliche Eingabeaufforderungen aus. Zum Beispiel Warnungen, Fehler usw., aber wenn es sich nur um kleine Fehler handelt, können wir verhindern, dass diese Fehler gemeldet werden. Dies erfordert die Verwendung der in diesem Kapitel erläuterten Vorgehensweise zum Festlegen der Fehlerstufe von PHP.
In PHP gibt es zwei Möglichkeiten, die Fehlerstufe festzulegen:
Die erste: Nachdem Sie error_reporting auf diese Weise eingestellt haben, starten Sie den Webserver neu und es dauert dauerhaft wirken.
Hier nehmen wir das integrierte Softwarepaket xampp als Beispiel. Öffnen Sie die Konfigurationsdatei php.ini und überprüfen Sie den Standardwert der Fehlerberichtsebene error_reporting wie folgt:
error_reporting=E_ALL & ~ E_DEPRECATED & ~E_STRICT
bedeutet, dass alle Fehler außer E_DEPRECATED und E_STRICT gemeldet werden.
Ändern Sie es wie folgt:
error_reporting=E_ALL & ~E_NOTICE
Es bedeutet, dass alle Fehler außer E_NOTICE gemeldet werden. Dies ist auch die am häufigsten verwendete Fehlerberichtsebene. Es werden keine Fehler der Aufmerksamkeitsklasse gemeldet (z. B. die Verwendung einer undefinierten Variablen).
Speichern und es wird nach dem Neustart des Webservers wirksam.
Zweitens: Stellen Sie die Fehlermeldestufe über die Funktion „error_reporting()“ ein. Nach dieser Einstellung kann sie sofort wirksam werden. Allerdings nur im Bereich hinter dem Funktionsaufruf error_reporting() im aktuellen Skript. Die Syntax der Funktion
error_reporting() lautet wie folgt:
int error_reporting ([ int $level ] )
Der Parameter level gibt die Stufe des Fehlers an. Wenn er nicht festgelegt ist, wird die aktuelle Fehlerstufe angegeben zurückgegeben. Nachfolgend sind die Werte für den Level-Parameter aufgeführt.
value | Konstante | Beschreibung | |||||||||||||||||||||||||||||||||||||||||||||
1 | E_ERROR | Meldet einen schwerwiegenden Fehler, der das verursacht Skript zum Beenden. Fehler
| |||||||||||||||||||||||||||||||||||||||||||||
2 | E_WARNING | Warnfehler während der Laufzeit melden (das Skript beendet die Ausführung nicht) | |||||||||||||||||||||||||||||||||||||||||||||
4 | E_PARSE | Syntaxanalysefehler bei der Kompilierung melden< /td>< /tr> | |||||||||||||||||||||||||||||||||||||||||||||
8 | E_NOTICE | Benachrichtigungsfehler melden, Skripte können Fehler erzeugen | |||||||||||||||||||||||||||||||||||||||||||||
16 | E_CORE_ERROR | Schwerwiegender Fehler während des Initialisierungsprozesses beim Start von PHP. | |||||||||||||||||||||||||||||||||||||||||||||
32 | E_CORE_WARNING | Warnung (nicht schwerwiegender Fehler) während des Initialisierungsprozesses beim Start von PHP. | |||||||||||||||||||||||||||||||||||||||||||||
64 | E_COMPILE_ERROR | Schwerwiegender Fehler bei der Kompilierung. Dies ist wie ein E_ERROR, der von der Zend-Skript-Engine generiert wird. | |||||||||||||||||||||||||||||||||||||||||||||
128 | E_COMPILE_WARNING | Warnung zur Kompilierungszeit (nicht schwerwiegender Fehler). Dies ähnelt einer E_WARNING-Warnung, die von der Zend-Skript-Engine generiert wird. | |||||||||||||||||||||||||||||||||||||||||||||
256 | E_USER_ERROR | Benutzerdefinierte Warnmeldung. Dies ähnelt der Verwendung der PHP-Funktion trigger_error (eine vom Programmierer festgelegte E_WARNING-Warnung) | |||||||||||||||||||||||||||||||||||||||||||||
512 | E_USER_WARNING | Benutzerdefinierte Warnmeldung. Dies ähnelt der Verwendung der PHP-Funktion trigger_error (eine vom Programmierer festgelegte E_WARNING-Warnung) | |||||||||||||||||||||||||||||||||||||||||||||
1024 | E_USER_NOTICE | Benutzerdefinierte Warnmeldung. Dies ähnelt der Verwendung der PHP-Funktion trigger_error (eine vom Programmierer festgelegte E_WARNING-Warnung) | |||||||||||||||||||||||||||||||||||||||||||||
2048 | E_STRICT | Kodierungsstandardisierungswarnung. Ermöglicht PHP, Vorschläge zur Änderung des Codes zu machen, um optimale Interoperabilität und Vorwärtskompatibilität sicherzustellen. | |||||||||||||||||||||||||||||||||||||||||||||
4096 | E_RECOVERABLE_ERROR | Schwerwiegender Fehler bei der Erfassung. Dies ähnelt einem E_ERROR, kann aber über einen benutzerdefinierten Handler abgefangen werden (siehe auch set_error_handler()) | |||||||||||||||||||||||||||||||||||||||||||||
8191 | E_ALL | Alle Fehler und Warnungen (außer E_STRICT) (E_STRICT wird ab PHP Teil von E_ALL sein 6.0) |
任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。
例子:
下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:
<?php //禁用错误报告 error_reporting(0); //报告运行时错误 error_reporting(E_ERROR | E_WARNING | E_PARSE); //报告所有错误 error_reporting(E_ALL); ?>
一个简单的例子是:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
他表示php错误,警告,语法错误,提醒都返错。
Das obige ist der detaillierte Inhalt vonWie stelle ich die Fehlerstufe in PHP ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!