Aller au contenu

désactiver E_DEPRECATED dans php.ini (WAMP)


Sujets conseillés

Posté

Je suis en train de débugger un vieux site, qui génère pas mal d'erreurs de type E_DEPRECATED sur mon installation locale (J'utilise Wampserver).

Je voudrais désactiver ces erreurs mais laisser les autres affichées, mais mes tentatives n'ont pour l'instant pas abouti.

J'ai dans mon fichier index.php, cette ligne :

error_reporting (E_ALL & ~E_DEPRECATED);

Qui est censée, si je ne m'abuse, m'afficher toutes les erreurs SAUF les erreurs de type E_DEPRECATED, mais ça ne semble pas fonctionner.

Y-a-t'il quelque chose que j'aurais loupé ?

Pour info, Mon installation de Wampserver est comme suit :

- Apache 2.0.63

- PHP 5.3.5

Posté

error_reporting(E_ALL ^ E_DEPRECATED);

error_reporting(E_ALL & ~E_NOTICE)

Envoi toutes les erreurs sauf sauf celles de type E_DEPRECATED(la seconde exclue E_USER_DEPRECATED)

Posté

Non, malheureusement les deux syntaxes me font quand même ressortir les erreurs suivantes, par WampServer :

( ! ) Deprecated: Function eregi_replace() is deprecated in C:\***\t3lib\class.t3lib_div.php on line 1800
Posté

Etrange, es-tu certain que la fonction error_reporting est appelée ? le mieux, modifie directement ça dans php.ini

Si tu as défini un gestionnaire d'erreur avec set_error_handler(), cette fonction est sans effet, cela peut être le cas si tu utilises un framework qui ont en général leur propre gestionnaire d'erreur (je dis ça de mémoire pour le truc du sans effet).

au pire, quel est le résultat de ça ?


$old = error_reporting(E_ALL & ~E_NOTICE)
var_dump($old);
var_dump(E_ALL & ~E_NOTICE);
var_dump($old==(E_ALL & ~E_NOTICE));

Sinon, si il n'y en a pas trop, change les eregi_replace dépréciés par des preg_replace :)

Posté

Désactiver le error_reporting dans le PHP pour le mettre dans le php.ini ne change rien.

Ton code me donne ceci :

int 30711

int 30711

boolean true

Et sinon, il semble qu'il y ait BEAUCOUP TROP d'eregi pour que je les remplace (Une très vieille install de Typo3 ...)

Posté

Euh, t'as un truc bizarre là, E_ALL & ~E_NOTICE, ca devrait être 6135, pas 30711 ^^

Essaie

error_reporting(6135); 

(c'est déconseillé en prod de pas utiliser les constantes)

Si ça marche pas :

php_value error_reporting 6135

dans ton htaccess, afin de ne pas y passer trop de temps :)

Si ca marche toujours pas, typo3 a surement un gestionnaire d'erreurs (si ce que je pense est vrai), alors display_errors = off (comme en prod )

Posté

Je t'ai dit une connerie, 30711 c'est la nouvelle valeur de E_ALL pour php5.3, mea culpa, attends une sec, j'ai pas 5.3 là

Posté

En fait E_ALL ^ E_DEPRECATED devrait fonctionner.

<?php
$old = error_reporting( E_ALL ^ E_DEPRECATED);
var_dump($old);
var_dump( E_ALL ^ E_DEPRECATED);
print eregi_replace('a', 'b', 'azertazareztaez');
?>

Devrait de renvoyer int(30719) int(22527) bzertbzbreztbez (la première valeur dépend de ton php.ini)

Essaie donc error_reporting( E_ALL ^ 8192 ); si ça ne fonctionne pas (vois la valeur de old)

En fait, il doit y avoir un autre appel à error_reporting qq part dans typo3 qui surcharge le tiens (si tu n'as pas désactivé la fonction dans php.ini).

Posté

j'ai constamment

int 30711

int 22527

bzertbzbreztbez

Quoi que je change dans le php.ini.

Je vais essayer de regarder s'il n'y a pas un autre endroit dans Typo où ça soit renseigné, effectivement.

Posté

j'ai constamment

int 30711

int 22527

bzertbzbreztbez

Quoi que je change dans le php.ini.

C'est très bien si tu as ça, t'as certainement E_ALL & ~E_NOTICE dans php.ini, par contre si tu le change dans le ini et que ça bouge pas à l'affichage, soit tu ne charges pas le bon php.ini, soit tu ne relance pas apache :)

Et oui, je crois qu'il y a un autre error_reporting exécuté ultérieurement dans ton appli. (fait un print error_reporting(); en bas de ta page pour t'en convaincre, t'auras certainement pas 22527 qui n'afficherait pas les E_DEPRECATED).

Posté

Ok, je crois que j'ai trouvé le fichier qui interférait ;)

Je dois faire encore quelques réglages (notamment supprimer les alertes sur les undefined index, mais c'est un grand pas en avant ... merci !)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...