2014-07-03 9 views
9

Ich arbeite an Project @ Home und verwende WAMP für die Entwicklung. Derzeit ist die php.ini Datei hat die folgenden Zeilen wie folgt gesetzt werden:Deaktivierungswarnungen in der PHP.ini-Datei deaktivieren WAMP

error_reporting = E_ALL & ~E_DEPRECATED 
display_errors = On 

ich es gehofft hatte, dabei würde angezeigt werden, deprecation Warnungen zu verhindern. Es ist jedoch nicht. Gibt es eine Möglichkeit, error_reporting einzustellen, um veraltete Warnungen zu ignorieren.

Ausgabe erhalte ich zur Zeit:

Screen of the problem

+2

[** Verwenden Sie nicht mysql_ * 'Funktionen in neuen Code **] (http://bit.ly/phpmsql). Sie werden nicht mehr gewartet [und sind offiziell veraltet] (http://j.mp/XqV7Lp). Siehe die [** rote Box **] (http://j.mp/Te9zIL)? Erfahren Sie mehr über [* prepared statements *] (http://j.mp/T9hLWi) und verwenden Sie [PDO] (http://php.net/pdo) oder [MySQLi] (http://php.net/) mysqli) - [dieser Artikel] (http://j.mp/QEx8IB) wird Ihnen helfen zu entscheiden, welche. (Auch mögliches Duplikat von [Deaktiviere veraltete Fehler php 5.3] (http://stackoverflow.com/questions/2803772/turn-off-deprecated-errors-php-5-3).) – esqew

+2

Hast du tatsächlich '& 'in deiner php.ini? –

+1

Während Code wird an MySQLi/PDO umgewandelt werden können E_DEPRECATED Fehler durch Setzen error_reporting in php.ini unterdrückt werden E_DEPRECATED auszuschließen: 'error_reporting = E_ALL^​​E_DEPRECATED' –

Antwort

1

Wenn Sie alle Fehler angezeigt werden soll, außer veraltet, dann verwenden Sie diese Einstellung:

error_reporting = E_ALL^E_DEPRECATED 

Edit: Sie könnte auch ein erstellen benutzerdefinierter Fehlerhandler zum Verbergen nur mysql_ Verfallswarnungen:

set_error_handler(function($errno, $errstr) { 
    return strpos($errstr, 'mysql_') === 0; 
}, E_DEPRECATED); 

Aber bitte beachten Sie, dass mysql_ Funktionen veraltet sind. Anstatt zu versuchen, die Fehler zu verbergen, sollten Sie also zu mysqli oder PDO wechseln.

+0

das funktioniert nicht für mich @Gergo – Javacadabra

+0

Haben Sie den Server neu gestartet? –

+0

Ja, tat ich. Aber es funktioniert nicht 'error_reporting = E_ALL & ~ E_DEPRECATED' ist jetzt in' php.ini' – Javacadabra

20

können Sie diese Funktion verwenden:

error_reporting(E_ALL^E_DEPRECATED); 

http://www.php.net/manual/en/function.error-reporting.php

Oder verwenden Sie "@" Operator vor Funktionsnamen.

@mysql_connect(); 
+1

Danke, PHP 5.5.9 unter Ubuntu verwenden error_reporting = E_ALL & ~ E_DEPRECATED & ~ E_STRICT Habe keinen Effekt .... aber "@mysql_connect();" Mach den Trick – molokoloco

+0

liebe das @ Operator !!!! –

6

In der php.ini-Datei ändern, um die folgenden .. (beachten Sie wamp hat 2 verschiedene php.ini-Dateien, so die Änderungen auf beide machen)

von diesem

error_reporting = E_ALL 

dazu

error_reporting = E_ALL & ~E_DEPRECATED 
0

pHP-Fehler auf WAMP Server, öffnen Sie bitte php.ini verstecken Datei und folgende Codezeile finden

error_reporting = E_ALL 

und ersetzen sie durch

error_reporting = E_ALL & ~E_NOTICE 

Alle Fehler werden hide/disable sein.

1

Stellen Sie Ihren Fehlerbericht an

error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

auf Ihrer PHP-Seite.

3

Ich hatte das gleiche Problem. Es stellte sich jedoch heraus, dass ich die falsche php.ini Datei bearbeitet habe.In meinem Fall war die richtige

C:\wamp64\bin\php\php5.6.25\phpForApache.ini

und in dieser Datei habe ich diese Zeile geändert:

error_reporting = E_ALL & ~E_DEPRECATED.

Es machte keinen Unterschied, was ich in dieser "offensichtlichen" php.ini Datei geändert hatte.