Bei der Entwicklung mit PHP stoßen wir häufig auf verschiedene Fehler. Diese Fehlermeldungen helfen uns normalerweise dabei, Probleme im Code schnell zu beheben und zu lösen. In einer Produktionsumgebung möchten wir diese Fehler jedoch möglicherweise nicht den Benutzern offenlegen. Zu diesem Zweck bietet PHP Funktionen zur Fehlerebenenkontrolle, mit denen wir frei steuern können, wie Fehler angezeigt werden.
PHPs Fehlerstufen sind in 8 Stufen unterteilt:
- E_ERROR: Schwerwiegender Fehler, der behoben werden muss, sonst kann der Code nicht weiter ausgeführt werden;
- E_WARNING: Warnfehler, der nicht zum Stoppen des Codes führt Wird ausgeführt, muss aber repariert werden;
- E_PARSE: Syntax-Parsing-Fehler, die normalerweise durch Code-Syntaxfehler verursacht werden; Schwerwiegende Kernel-Fehler, wie z. B. Fehler, die während der PHP-Kernel-Initialisierung auftreten;
- E_CORE_WARNING: Kernel-Warnungsfehler;
- E_COMPILE_ERROR: Schwerwiegender Kompilierungsfehler, wie z. B. die enthaltene Datei existiert nicht;
- E_COMPILE_WARNING: Kompilierungs-Warnungsfehler.
- PHPs Standardfehlerstufe ist E_ALL, was bedeutet, dass alle Stufen von Fehleraufforderungen aktiviert sind. Dieses Level ist bei der Entwicklung sehr nützlich und hilft uns, Fehler so früh wie möglich zu finden und zu beheben. In einer Produktionsumgebung möchten wir jedoch normalerweise keine Fehlerinformationen für Benutzer offenlegen. In diesem Fall können wir die Fehlerinformationen steuern, indem wir die Fehlerstufe ändern.
- Es gibt zwei Möglichkeiten, die Fehlerstufe zu ändern: Verwenden Sie die Funktion ini_set, um sie im Code zu konfigurieren, oder ändern Sie die PHP-Konfigurationsdatei php.ini. Im Folgenden finden Sie eine Einführung in die beiden Methoden.
Verwenden Sie die Funktion ini_set, um die Fehlerstufe zu ändern.
Die Funktion ini_set ermöglicht es uns, PHP-Konfigurationselemente im Code vorübergehend zu ändern. Mit dieser Funktion können wir die Fehlerstufe von PHP ändern. Das folgende Codebeispiel zeigt, wie man die Fehlerstufe auf E_ALL & ~E_NOTICE & ~E_WARNING setzt, also Benachrichtigungen und Warnmeldungen deaktiviert: // 设置错误级别为E_ALL & ~E_NOTICE & ~E_WARNING
ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_WARNING);
// 执行代码
echo $undefinedVariable;
Nach dem Login kopieren
Im obigen Code verwenden wir zunächst die Funktion ini_set, um die Fehlerstufe auf festzulegen E_ALL & ~E_NOTICE & ~ E_WARNING und dann absichtlich auf eine undefinierte Variable $undefinedVariable zugegriffen. Da wir Benachrichtigungen und Warnungen deaktiviert haben, meldet uns PHP nicht mit dem Hinweisfehler „Undefinierte Variable: undefinierte Variable“. Wenn wir jedoch die Fehlerstufe auf E_ALL setzen, wirft PHP beim Zugriff auf eine undefinierte Variable einen Fehler wie diesen aus:
Notice: Undefined variable: undefinedVariable in /path/to/file.php on line 5
Nach dem Login kopieren
Daher können wir durch Ändern der Fehlerstufe steuern, ob PHP bestimmte Arten von Fehlermeldungen anzeigt.
Ändern Sie die PHP-Konfigurationsdatei php.ini, um die Fehlerebene zu ändern
Zusätzlich zur Verwendung der Funktion ini_set zum Konfigurieren der Fehlerebene im Code können wir sie auch in der Konfigurationsdatei php.ini konfigurieren. Die Konfigurationsdatei php.ini gilt für das gesamte PHP-System und auf die Werte in den Konfigurationselementen kann in jeder PHP-Datei zugegriffen werden. Im Folgenden sind die Konfigurationselemente aufgeführt, die sich auf die Fehlerstufe in der Konfigurationsdatei php.ini beziehen: ; 显示所有错误
error_reporting = E_ALL
; 显示 E_NOTICE、E_WARNING 和 E_ERROR 级别的错误
error_reporting = E_ERROR | E_WARNING | E_NOTICE
; 显示所有错误,除了 E_NOTICE 级别的错误
error_reporting = E_ALL & ~E_NOTICE
Nach dem Login kopieren
Um die Produktionsumgebung zu schützen, setzen wir die Fehlerstufe normalerweise auf E_ALL & ~E_NOTICE & ~E_WARNING. Dadurch werden Benachrichtigungen und Warnungen deaktiviert und nur schwerwiegende Fehler und Analysefehler angezeigt.
Zusammenfassung
Während des Entwicklungsprozesses möchten wir Fehler so früh wie möglich finden und beheben. Daher ist es sehr nützlich, alle Eingabeaufforderungen auf Fehlerebene standardmäßig zu aktivieren. In einer Produktionsumgebung möchten wir den Benutzern jedoch normalerweise keine Fehlermeldungen anzeigen. Daher müssen wir die Fehlerebene ändern, um zu steuern, wie die Fehlermeldungen angezeigt werden. Wir können diese Funktion über die Funktion ini_set erreichen oder die PHP-Konfigurationsdatei php.ini ändern. Im tatsächlichen Einsatz sollten wir die Fehlerstufe flexibel entsprechend den tatsächlichen Anforderungen konfigurieren, um eine zeitnahe Fehlersuche und -behebung zu ermöglichen.
Das obige ist der detaillierte Inhalt vonPHP-Fehlerstufe ändern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!