Depuis la mise à jour de mon serveur de test vers PHP 5.3.3 (Debian Squeeze), j'ai rencontré un comportement étrange concernant la gestion des erreurs en PHP.
J'ai défini error_reporting comme ceci:
error_reporting(E_ALL);
et vérifié le paramètre via
echo error_reporting();
ce qui renvoie 30719
. Selon php.net cela signifie "Toutes les erreurs et avertissements, comme supportés, à l'exception du niveau E_STRICT.".
Mais à la ligne suivante (dans une définition de classe abstract class formInputContainer extends formContainer implements formElementValueable { ... }
), cela se traduit par le message :
Strict (2048): Déclaration de formInputContainer::addElement() devrait être compatible avec celle de formContainer::addElement()
Pourquoi le message E_STRICT est-il affiché alors qu'il n'est pas défini? Même en changeant à E_ALL & ~E_STRICT cela ne fonctionne pas.