Heim >Backend-Entwicklung >PHP-Tutorial >Wie stelle ich die Fehlerstufe in PHP ein?

Wie stelle ich die Fehlerstufe in PHP ein?

怪我咯
怪我咯Original
2017-04-28 16:11:497008Durchsuche

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
常量 说明
1 E_ERROR 报告导致脚本终止运行的致命错误
2 E_WARNING 报告运行时的警告类错误(脚本不会终止运行)
4 E_PARSE 报告编译时的语法解析错误
8 E_NOTICE 报告通知类错误,脚本可能会产生错误
16 E_CORE_ERROR PHP启动时初始化过程中的致命错误。
32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。
64 E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
128 E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。
256 E_USER_ERROR 用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
512  E_USER_WARNING 用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
1024 E_USER_NOTICE 用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
2048 E_STRICT 编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
4096 E_RECOVERABLE_ERROR 开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
8191 E_ALL 所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)
2 E_WARNING Warnfehler während der Laufzeit melden (das Skript beendet die Ausführung nicht)
4 E_PARSE Syntaxanalysefehler bei der Kompilierung melden
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)

Wie stelle ich die Fehlerstufe in PHP ein? 任意数目的以上选项都可以用“或”来连接(用 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn