Migration de PHP 3 à PHP 4
<<<
Changement de configuration Nouveaux messages d'erreurs
>>>

7.2.5 Rapport d'erreur
7.2 Migration de PHP 3 à PHP 4
7 Annexes
 Manuel PHP

->Changement de configuration
Nouveaux messages d'erreurs

7.2.5.1 Changement de configuration

Avec PHP 3, le niveau de rapport d'erreur était obtenu en ajoutant les constantes numériques de chaque niveau de rapport. Généralement, on utilisait 15 pour afficher toutes les erreurs, et 7 pour afficher toutes les erreurs hormis les alertes simples.

PHP 4 dispose d'un nombre significativement plus grand de niveaux de rapport d'erreur, et l'analyseur accepte désormais les constantes symboliques destinées à configurer le comportement désiré.

Le niveau de rapport d'erreur doit désormais être explicitement configuré en supprimant les niveaux dont vous ne voulez pas, grâce à la fonction de OU exclusif. Ça a l'air compliqué? Supposons que vous souhaitiez afficher toutes les erreurs, hormis les alertes de style, qui sont repérées par la constante : E_NOTICE. Il suffit d'ajouter la valeur suivante dans le fichier php.ini : error_reporting = E_ALL & ~E_NOTICE . Si vous voulez supprimer aussi les alertes, vous pouvez ajouter la constante appropriée, en la combinant avec l'opérateur OU logique '|': error_reporting= E_ALL & ~( E_NOTICE | E_WARNING ) .

Attention

Lors de la mise à jour de votre code ou de vos serveurs de PHP 3 à PHP 4, vous devez vérifier ces valeurs de configuration et appeler la fonction error_reporting ou bien désactiver les nouveaux types d'erreurs, tout spécialement E_COMPILE_ERROR . Ceci peut mener à des documents vides sans aucune possibilité de tracer ce qui s'est produit ou où rechercher le problème.

Attention

L'utilisation des anciennes valeurs 7 et 15 est une très mauvaise idée, car elles ne prennent pas en compte les nouvelles classes d'erreurs, y compris certaines erreurs d'analyse. Cela peut conduire à des résultats très étranges, où le script n'affiche plus rien, malgré une erreur d'analyse.

Cela a conduit dans le passé à un grand nombre de rapports de bogues sur l'analyseur, alors que les programmeurs n'étaient tout simplement pas capables de repérer l'accolade manquante dans un fichier requis, car l'analyseur avait la consigne de cacher ces erreurs.

Vérifier votre niveau d'erreur doit être le premier réflexe lorsque vos scripts meurent silencieusement. Le moteur Zend est considéré actuellement comme suffisamment mature pour ne plus causer ce genre de problème aujourd'hui.

<< Changement de configuration >>
Migration de PHP 3 à PHP 4 Rapport d'erreur Nouveaux messages d'erreurs