Änderungsmethode: 1. Suchen und ändern Sie in php.ini den Wert des Elements „error_reporting“ und starten Sie dann den Webserver neu. 2. Verwenden Sie in der PHP-Datei die Anweisung „error_reporting(level)“, um den Parameter „level“ zu ändern.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Fehlerberichtsebene: Gibt an, unter welchen Umständen Fehler im Skriptcode auftreten (Fehler sind hier allgemeine Fehler, einschließlich E_NOTICE, E_WARNING , E_ERROR schwerwiegender Fehler usw.) werden in Form von Fehlerberichten ausgegeben.
So ändern Sie die Fehlerberichtsebene in PHP
1. Ändern Sie die PHP-Konfigurationsdatei php.ini
Nachdem Sie error_reporting auf diese Weise eingestellt haben, starten Sie den Webserver neu und es wird dauerhaft wirksam.
Öffnen Sie am Beispiel des integrierten Softwarepakets xampp 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 gemeldet werden, außer E_DEPRECATED und E_STRICT.
Ändern Sie es in:
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.
2. Verwenden Sie die Funktion error_reporting()
Nach dieser Einstellung kann sie sofort wirksam werden. Allerdings nur im Bereich nach dem Funktionsaufruf error_reporting() im aktuellen Skript.
error_reporting(level)
Der Level-Parameter gibt die Fehlerberichtsebene des aktuellen Skripts an und kann weggelassen werden. Sowohl Wertnummern als auch Konstantennamen sind akzeptabel. Aus Kompatibilitätsgründen mit zukünftigen PHP-Versionen wird jedoch die Verwendung von Konstantennamen empfohlen.
Der Ebenenparameter kann eine Ganzzahl oder der entsprechende Konstantenbezeichner sein. Es wird empfohlen, die Konstantenform zu verwenden. Der Rückgabewert ist der Wert (Ganzzahlwert) der am aktuellen Standort gültigen Fehlermeldeebene.
Hier sind einige Fehlermeldestufen:
Wert | Konstante | Beschreibung |
---|---|---|
1 | E_ERROR | Schwerwiegender Fehler zur Laufzeit. Nicht behebbare Fehler. Stoppen Sie die Ausführung des Skripts. |
2 | E_WARNING | Nicht schwerwiegender Laufzeitfehler. Die Skriptausführung wird nicht gestoppt. |
4 | E_PARSE | Parse-Fehler während der Kompilierung. Parsing-Fehler sollten nur vom Parser generiert werden. |
8 | E_NOTICE | Laufzeitbenachrichtigung. Die Skripterkennung kann ein Fehler sein, kann aber auch beim normalen Ausführen eines Skripts auftreten. |
16 | E_CORE_ERROR | Schwerwiegender Fehler beim Starten von PHP. Dies ist genau wie E_ERROR des PHP-Kerns. |
32 | E_CORE_WARNING | Nicht schwerwiegender Fehler beim PHP-Start. Dies ist genau wie die E_WARNING des PHP-Kerns. |
64 | E_COMPILE_ERROR | Schwerwiegender Fehler beim Kompilieren. Dies ist genau wie der E_ERROR, der von der Zend-Skript-Engine generiert wird. |
128 | E_COMPILE_WARNING | Nicht schwerwiegender Fehler beim Kompilieren. Dies ist wie eine E_WARNING, die von der Zend-Skript-Engine generiert wird. |
256 | E_USER_ERROR | Vom Benutzer generierter schwerwiegender Fehler. Dies ähnelt dem E_ERROR, der vom Programmierer mit der PHP-Funktion trigger_error() generiert wird. |
512 | E_USER_WARNING | Vom Benutzer generierter, nicht schwerwiegender Fehler. Dies ist wie eine E_WARNING, die vom Programmierer mit der PHP-Funktion trigger_error() generiert wird. |
1024 | E_USER_NOTICE | Benutzergenerierte Benachrichtigungen. Dies ähnelt der E_NOTICE, die der Programmierer mit der PHP-Funktion trigger_error() generiert. |
2048 | E_STRICT | Benachrichtigung beim Laufen. PHP empfiehlt, dass Sie Änderungen an Ihrem Code vornehmen, um die Interoperabilität und Kompatibilität des Codes zu verbessern. |
4096 | E_RECOVERABLE_ERROR | Abfangbarer schwerwiegender Fehler. Dies ist wie ein E_ERROR, der von einem benutzerdefinierten Handle abgefangen werden kann (siehe set_error_handler()). |
8191 | E_ALL | Alle Fehler- und Warnstufen außer E_STRICT (seit PHP 6.0 wird E_STRICT Teil von E_ALL sein). |
示例:
error_reporting(E_ALL ^ E_NOTICE); // 除了E_NOTICE之外,报告所有的错误 error_reporting(E_ERROR); // 只报告致命错误 echo error_reporting(E_ERROR | E_WARNING | E_NOTICE); // 只报告E_ERROR、E_WARNING 和 E_NOTICE三种错误
注意:配置文件php.ini中display_errors
的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。
使用 error_reporting(0)
或者在函数前面加 @
,可以抑制错误输出,以防止错误消息泄露敏感信息。
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonSo ändern Sie die Fehlerstufe in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!