PHP 5.3 Deprecation-Nachrichten, die als Warnungen angezeigt werden

9

Ich habe eine Legacy-App, für die register_globals und magic_quotes_gpc aktiviert werden müssen. Ich habe mein error_reporting auf E_ALL & ~E_DEPRECATED gesetzt, weil ich immer noch Warnungen sehen möchte.

Wenn ich die PHP CLI ausführe, bekomme ich Folgendes:

%Vor%

Warum werden die veralteten Nachrichten als Warnungen angezeigt? Sollten sie nicht in der E_DEPRECATED Ebene sein?

Es scheint, dass ich keine Warnungen zeigen muss, damit sie weggehen

%Vor%

Ich könnte mein error_reporting in E_ALL & ~E_DEPRECATED & ~E_WARNING ändern, aber dann würde es keine Warnungen für meine Webanwendung anzeigen. Irgendwelche Vorschläge? Muss ich ein separates php.ini für die CLI verwenden?

    
ejunker 08.09.2011, 18:59
quelle

5 Antworten

2

Ändern Sie error_reporting in E_ALL & ~E_DEPRECATED & ~E_WARNING .

Dann am Anfang Ihres Code-Sets:

%Vor%

Erste PHP-Prüfungen sind bestanden und Sie haben jetzt Ihre komplette Fehler-gemeldete Umgebung. :)

    
Denis 16.11.2011 23:09
quelle
1

LMGTFY

Die beste Antwort

  

[2009-09-07 08:42 UTC] [email protected]   Ja. Es ist nicht E_DEPRECATED, es ist E_WARNING und das wird sich nicht ändern.

     

[2010-03-23 ​​14:26 UTC] [email protected]   aks bei esoft dot dk & gt; Wenn dies in der Dokumentation tatsächlich der Fall ist, melden Sie es als separates Problem, anstatt einen bereits geschlossenen Bericht zu stoßen.

Sieht so aus, als müssten Sie akzeptieren, wie sich das Verhalten verhält.
Die Änderungen gelten nur für v6

    
ajreal 09.09.2011 17:55
quelle
0

Sie könnten etwas Glück haben, die Anzeige von Startfehlern auszuschalten . Die Fehler sollten weiterhin in Ihrem Fehlerprotokoll protokolliert werden, sie werden jedoch nicht in der Ausgabe Ihrer Anwendung angezeigt.

    
user212218 08.09.2011 21:31
quelle
0

Es gilt als beste Methode, auch keines zu verwenden. Sie sind E_WARNING s, weil das die Art von Fehlern sind, die die Entwickler ausgewählt haben (es ist willkürlich, eine auf der anderen Ebene zu verwenden).

Ich empfehle dringend, dass Sie sicherstellen, dass diese Funktionen in Ihrer Konfiguration deaktiviert sind oder, wenn Sie es nicht vermeiden können, deaktivieren Sie diese Arten von Warnungen in der Konfiguration. Andernfalls riskieren Sie, dass es eine AJAX-Anfrage ruiniert. Wir alle müssen damit fertig werden.

    
Dustin Oprea 08.09.2011 21:19
quelle
0

Sie könnten versuchen, Ihren Fehlerhandler mit

zu registrieren %Vor%

und myFunc ist etwas wie:

%Vor%

Wenn also die Zeichenfolge "register_globals" nicht gefunden wird, gibt func den Wert false zurück, und die Standardfehlerbehandlung beginnt. Andernfalls wird nur true zurückgegeben und nichts passiert.

    
Grenjek 09.09.2011 17:46
quelle

Tags und Links