Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Beschreibung der PHP-Funktion error_reporting()

Detaillierte Beschreibung der PHP-Funktion error_reporting()

怪我咯
怪我咯Original
2017-07-10 14:35:131542Durchsuche

Als ich mir die connect.php von Empire cms ansah, stellte ich fest, dass der erste Satz error_reporting(E_ALL ^ ​​​​E_NOTICE) lautet. Ich weiß, dass er festgelegt wird eine Fehlermeldung, aber ich kenne die zu verwendenden Details nicht. Nachfolgend habe ich einige Dinge aus dem Internet entnommen und zusammengefasst.

Beispiel:

Unter Windows-Umgebung: Ein Programm, das ursprünglich in PHP4.3.0 normal ausgeführt wurde, meldet mehrere Fehler in 4.3.1. Die allgemeine Eingabeaufforderung lautet wie folgt :Hinweis: Undefinierte Variable: Variablenname.
Zum Beispiel der folgende Code:

Der Code lautet wie folgt:

if (!$tmp_i) { 
$tmp_i=10; 
}

Er läuft normal in 4.3.0 und in 4.3. Beim Ausführen von 1 wird folgende Meldung angezeigt: Undefinierte Variable: tmp_i
Die nächste Frage lautet:
Wo liegt das Problem?
2. Wie sollte dieser Code geändert werden?
3. Wie kann ich die Einstellungen in php.ini ändern, damit das ursprüngliche Programm in 4.3.1 normal ausgeführt werden kann?
Lösung:
Fügen Sie am Anfang des Programms einen Satz hinzu:
error_reporting(E_ALL & ~E_NOTICE); oder
Modify php.ini
error_reporting = E_ALL & ~E_NOTICE

Über die Funktion error_reporting():

error_reporting() legt die Fehlerstufe von PHP fest und gibt die aktuelle Stufe zurück.

;
Fehlerberichterstattung erfolgt bitweise. Oder addieren Sie die Zahlen, um die gewünschte Fehlermeldestufe zu erhalten. ; E_ALL – alle Fehler und Warnungen
; E_WARNING – Laufzeitwarnungen (nicht schwerwiegende Fehler)
; Laufzeiterinnerung (diese werden oft durch Fehler in Ihrem Code verursacht,

; oder können durch absichtliches Verhalten verursacht werden. (z. B.: automatische Initialisierung einer nicht initialisierten Variablen zu einem
;Die Tatsache, dass ein leeres
string
verwendet eine nicht initialisierte Variable)
; E_CORE_ERROR – Schwerwiegender Fehler während der Initialisierung, der auftritt, wenn PHP startet – Tritt auf, wenn PHP startet. Warnung während der Initialisierung (nicht schwerwiegender Fehler)
; E_COMPILE_ERROR – Schwerwiegender Fehler während der Kompilierung
; E_COMPILE_WARNING – Warnung während der Kompilierung (nicht schwerwiegender Fehler)
; E_
USER_ERROR
– Vom Benutzer generierte Fehlermeldung Warnmeldung
; E_USER_NOTICE – Vom Benutzer generierte Erinnerungsnachricht Verwendung:
error_reporting(0);//Fehlerberichterstattung deaktivieren
error_reporting(E_ALL ^ ​​​​E_NOTICE);//Alle anzeigen
Fehlermeldungen außer E_NOTICE

error_reporting(E_ALL^E_WARNING^E_NOTICE);//Anzeige aller Fehler außer E_WARNING E_NOTICE Information
error_reporting(E_ERROR | E_WARNING | E_PARSE);//Anzeige von Laufzeitfehlern, die hat den gleichen Effekt wie error_reporting(E_ALL ^ ​​​​E_NOTICE); error_reporting(E_ALL);//Alle Fehler anzeigen
Das Folgende ist eine detaillierte Erklärung der
PHP error_reporting() Fehlerkontrolle Funktion


Definition und Verwendung:
error_reporting() legt die Fehlerstufe von PHP fest und gibt die aktuelle Stufe zurück 🎜>

Funktionssyntax:

Wenn der Parameter level nicht angegeben ist, wird der aktuelle Fehlerlevel zurückgegeben. Folgende Werte sind möglich:

Wertkonstantenbeschreibung

error_reporting(report_level)
1 E_ERROR Fatal

Laufzeitfehler

. Der Fehler kann nicht behoben werden und die Ausführung des Skripts wird angehalten.

2 E_WARNING Laufzeitwarnung (nicht schwerwiegender Fehler). Nicht schwerwiegender Laufzeitfehler, die Skriptausführung wird nicht gestoppt.

4 E_PARSE-Parsingfehler bei der Kompilierung. Parsing-Fehler werden nur vom Parser generiert.

8 E_NOTICE Laufzeiterinnerung (diese werden oft durch Fehler in Ihrem Code verursacht oder können durch absichtliches Verhalten verursacht werden.)

16 E_CORE_ERROR Schwerwiegender Fehler während des PHP-Startinitialisierungsprozesses.

32 E_CORE_WARNING Warnung (nicht schwerwiegender Fehler) während des Initialisierungsprozesses beim Start von PHP.

64 E_COMPILE_ERROR Schwerwiegender Fehler beim Kompilieren. Dies ist wie ein E_ERROR, der von der Zend-Skript-Engine generiert wird.

128 E_COMPILE_WARNING Kompilierzeitwarnung (nicht schwerwiegender Fehler). Dies ähnelt einer E_WARNING-Warnung, die von der Zend-Skript-Engine generiert wird.

256 E_USER_ERROR Benutzerdefinierte Fehlermeldung. Dies ist wie eine benutzerdefinierte Warnmeldung, die mit der PHP-Funktion

trigger_error

erstellt wurde (Programmierer setzt E_ERROR)

512 E_USER_WARNING. Dies ist wie eine benutzerdefinierte Erinnerungsnachricht mit der PHP-Funktion trigger_error (eine vom Programmierer festgelegte E_WARNING-Warnung)

1024 E_USER_NOTICE. Dies ist wie eine standardisierte Warnung, die durch

2048 E_STRICT unter Verwendung der PHP-Funktion trigger_error codiert wird (der Programmierer hat ein E_NOTICE-Set). Ermöglicht PHP, Vorschläge zur Änderung des Codes zu machen, um optimale Interoperabilität und Vorwärtskompatibilität sicherzustellen.

4096 E_RECOVERABLE_ERROR Schwerwiegender Fehler bei der Erfassung. Dies ist wie ein E_ERROR, kann aber über einen benutzerdefinierten Handler abgefangen werden (siehe auch set_error_handler ())

8191 E_ALL Alle Fehler und Warnungen (außer E_STRICT) (E_STRICT wird Teil von sein E_ALL ab PHP 6.0)

Das obige ist der detaillierte Inhalt vonDetaillierte Beschreibung der PHP-Funktion error_reporting(). 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