Wie stelle ich die Fehlerstufe in PHP ein?

怪我咯
Freigeben: 2023-03-07 17:08:01
Original
6918 Leute haben es durchsucht

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 ] )
Nach dem Login kopieren

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.

valueKonstanteBeschreibung
1E_ERRORMeldet einen schwerwiegenden Fehler, der das verursacht Skript zum Beenden. Fehler
常量说明
1E_ERROR报告导致脚本终止运行的致命错误
2E_WARNING报告运行时的警告类错误(脚本不会终止运行)
4E_PARSE报告编译时的语法解析错误
8E_NOTICE报告通知类错误,脚本可能会产生错误
16E_CORE_ERRORPHP启动时初始化过程中的致命错误。
32E_CORE_WARNINGPHP启动时初始化过程中的警告(非致命性错)。
64E_COMPILE_ERROR编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
128E_COMPILE_WARNING编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。
256E_USER_ERROR用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
512 E_USER_WARNING用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
1024E_USER_NOTICE用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
2048E_STRICT编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
4096E_RECOVERABLE_ERROR开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
8191E_ALL所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)
2 E_WARNINGWarnfehler während der Laufzeit melden (das Skript beendet die Ausführung nicht)
4E_PARSESyntaxanalysefehler bei der Kompilierung melden< /td>< /tr>
8E_NOTICEBenachrichtigungsfehler melden, Skripte können Fehler erzeugen
16E_CORE_ERRORSchwerwiegender Fehler während des Initialisierungsprozesses beim Start von PHP.
32E_CORE_WARNINGWarnung (nicht schwerwiegender Fehler) während des Initialisierungsprozesses beim Start von PHP.
64E_COMPILE_ERRORSchwerwiegender Fehler bei der Kompilierung. Dies ist wie ein E_ERROR, der von der Zend-Skript-Engine generiert wird.
128E_COMPILE_WARNINGWarnung zur Kompilierungszeit (nicht schwerwiegender Fehler). Dies ähnelt einer E_WARNING-Warnung, die von der Zend-Skript-Engine generiert wird.
256E_USER_ERRORBenutzerdefinierte Warnmeldung. Dies ähnelt der Verwendung der PHP-Funktion trigger_error (eine vom Programmierer festgelegte E_WARNING-Warnung)
512 E_USER_WARNINGBenutzerdefinierte Warnmeldung. Dies ähnelt der Verwendung der PHP-Funktion trigger_error (eine vom Programmierer festgelegte E_WARNING-Warnung)
1024E_USER_NOTICEBenutzerdefinierte Warnmeldung. Dies ähnelt der Verwendung der PHP-Funktion trigger_error (eine vom Programmierer festgelegte E_WARNING-Warnung)
2048E_STRICTKodierungsstandardisierungswarnung. Ermöglicht PHP, Vorschläge zur Änderung des Codes zu machen, um optimale Interoperabilität und Vorwärtskompatibilität sicherzustellen.
4096E_RECOVERABLE_ERRORSchwerwiegender Fehler bei der Erfassung. Dies ähnelt einem E_ERROR, kann aber über einen benutzerdefinierten Handler abgefangen werden (siehe auch set_error_handler())
8191 E_ALLAlle 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);
?>
Nach dem Login kopieren

一个简单的例子是:

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage