11.2.5 Rapport d'erreur
11.2 Migration de PHP 3.0 à PHP 4.0
11 Appendices
Manuel PHP
->Changement de configuration . Nouveaux messages d'erreurs
|
11.2.5.1 Changement de configuration
Avec PHP 3.0, 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.0 dispose d'un nombre significativement plus grand de niveaux
de rapport d'erreur, et l'analyseur comprend désormais les
constantes, lors des modifications.
Le niveau de rapport d'erreur doit désormais être explicitement
configuré en supprimant les niveaux dont vous ne voulez pas
du niveau maximal, 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 en plus 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 |
L'utilisation des vieilles valeurs de 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 à de très étranges résultats,
où le script n'affiche plus rien, malgré une erreur d'analyse.
Cela a conduit à un grand nombre de rapport d'erreur dans
le passé, alors que les programmeurs n'étaient tout simplement
pas capables de repérer l'accolade manquante, 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.
|
|