Heim > Artikel > Backend-Entwicklung > Was sind die Fehlerstufen von PHP?
Der folgende Artikel führt Sie in die Ebenen der PHP-Fehlerberichterstattung ein. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
error_reporting()
wird verwendet, um die Fehlerberichtsebene von PHP festzulegen und die aktuelle Ebene zurückzugeben. (PHP 4, PHP 5) Die Funktion
kann die error_reporting-Direktive zur Laufzeit festlegen.
PHP verfügt über viele Fehlerstufen. Verwenden Sie diese Funktion, um die Stufe festzulegen, wenn das Skript ausgeführt wird.
Wenn der optionale Parameter level nicht festgelegt ist, gibt error_reporting() nur die aktuelle Fehlerberichtsebene zurück.
Parameterebene
Neue Fehlerberichtsebene. Kann eine Bitmaske oder eine benannte Konstante sein.
Es wird empfohlen, benannte Konstanten zu verwenden, um die Kompatibilität mit zukünftigen Versionen sicherzustellen. Aufgrund der Hinzufügung von Fehlerstufen und der Erweiterung des Bereichs ganzzahliger Werte verhalten sich
ältere ganzzahlbasierte Fehlerstufen nicht immer wie erwartet.
Stufe mögliche Werte (Fehlermeldestufe in PHP)
Häufig: etwa 15 insgesamt
15 entspricht genau den 15 Bits der Binärdatei.
Es ist zu beachten, dass die Felder in der obigen Tabelle nicht statisch sind. Verschiedene PHP-Versionen können unterschiedliche Werte haben. Weitere Informationen finden Sie in den vordefinierten PHP-Konstanten.
Beliebige Anzahl der oben genannten Optionen Sie können alle mit „OR“ verknüpft werden (mit OR oder |), sodass alle erforderlichen Fehler aller Ebenen gemeldet werden können.
Der folgende Code deaktiviert beispielsweise benutzerdefinierte Fehler und Warnungen, führt bestimmte Vorgänge aus und kehrt dann zur ursprünglichen Fehlerebene zurück:
Beispiel:
<?php error_reporting(0); //禁用错误报告 error_reporting(E_ERROR | E_WARNING | E_PARSE);//报告运行时错误 error_reporting(E_ALL); //报告所有错误 error_reporting(E_ALL ^ E_NOTICE); //除E_NOTICE报告所有错误,是在php.ini的默认设置 error_reporting(-1); //报告所有 PHP 错误 error_reporting(3); //不报E_NOTICE error_reporting(11); //报告所有错误 ini_set('error_reporting', E_ALL); // 和 error_reporting(E_ALL); 一样 error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);//表示php错误,警告,语法错误,提醒都返错。 ?>
Konvertierungsbeziehung:
E_All: Dezimal ist 30719, in Binär umgewandelt ist es 111011111111111
E_NOTICE: Dezimal ist 8, in Binär umgewandelt ist es 1000
~ E_NOTICE: Invertieren Sie E_NOTICE und es wird 0111
E_ALL & ~E_NOTICE:: E_ALL und ~E_NOTICE werden UND-verknüpft und es wird 111011111110111. Bei der Umwandlung in Dezimalzahl ist es 30711
Das können Sie siehe E_ALL. Nicht alle Fehler werden angezeigt. Das 12. Bit ist 0. Das Gewicht dieses Bits beträgt 2 hoch 11, also 2048. Es ist tatsächlich der Wert von E_STRICT, daher zeigt E_ALL alle Fehlerstufen außer E_STRICT an.
E_ALL & ~E_NOTICE sind im Binärformat zu sehen. Von rechts nach links sind das 4. und 12. Bit 0. Das Gewicht des 4. Bits ist 2, erhöht auf die dritte Potenz, also 8 Wert von E_NOTICE, daher werden alle Fehler außer E_STRICT und E_NOTICE angezeigt.
Weitere Informationen zu diesem Thema finden Sie auf der chinesischen PHP-Website! !
Das obige ist der detaillierte Inhalt vonWas sind die Fehlerstufen von PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!