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 🎜>
Wenn der Parameter level nicht angegeben ist, wird der aktuelle Fehlerlevel zurückgegeben. Folgende Werte sind möglich:
Wertkonstantenbeschreibung
error_reporting(report_level)
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-Funktiontrigger_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!