Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die Fehlerstufen von PHP?

Was sind die Fehlerstufen von PHP?

青灯夜游
青灯夜游Original
2020-04-25 17:21:102927Durchsuche

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.

Was sind die Fehlerstufen von PHP?

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

Was sind die Fehlerstufen von PHP?

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(&#39;error_reporting&#39;, 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!

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