&ConfigureOptions; pour la gestion d'erreurs&Name;&Default;&Changeable;&Changelog;error_reportingNULLPHP_INI_ALLdisplay_errors"1"PHP_INI_ALLdisplay_startup_errors"0"PHP_INI_ALLlog_errors"0"PHP_INI_ALLlog_errors_max_len"1024"PHP_INI_ALLDisponible depuis PHP 4.3.0.ignore_repeated_errors"0"PHP_INI_ALLDisponible depuis PHP 4.3.0.ignore_repeated_source"0"PHP_INI_ALLDisponible depuis PHP 4.3.0.report_memleaks"1"PHP_INI_ALLDisponible depuis PHP 4.3.0.track_errors"0"PHP_INI_ALLhtml_errors"1"PHP_INI_ALLPHP_INI_SYSTEM in PHP <= 4.2.3.xmlrpc_errors"0"PHP_INI_SYSTEMDisponible depuis PHP 4.1.0.xmlrpc_error_number"0"PHP_INI_ALLDisponible depuis PHP 4.1.0.docref_root""PHP_INI_ALLDisponible depuis PHP 4.3.0.docref_ext""PHP_INI_ALLDisponible depuis PHP 4.3.2.error_prepend_stringNULLPHP_INI_ALLerror_append_stringNULLPHP_INI_ALLerror_logNULLPHP_INI_ALL
&ini.php.constants;
&ini.descriptions.title;
error_reportinginteger
Fixe le niveau d'erreur. Ce paramètre est un entier, représentant un
champ de bits. Ajoutez les valeurs suivantes pour choisir le niveau
que vous désirez, telles que décrites dans la section
Constantes pré-définies,
et dans le fichier &php.ini;. Pour modifier cette configuration durant
l'exécution du script, utilisez la fonction
error_reporting. Voyez aussi la directive
display_errors.
En PHP 4 et PHP 5, la configuration par défaut est
E_ALL & ~E_NOTICE. Elle montre toutes les erreurs, sauf
les E_NOTICE. Il est recommandé de les afficher
durant le développement.
Activer le rapport d'erreur de niveau E_NOTICE
durant le développement a des avantages. En terme de déboguage, les message
d'alertes vous signalent des bogues potentiels dans votre code. Par exemple,
l'utilisation de valeurs non initialisées est signalée. Il est aussi plus
pratique pour trouver des coquilles, et, ainsi, gagner du temps. Les messages
NOTICE vous signaleront aussi les mauvaises pratiques de codage. Par
exemple $arr[item] doit toujours être écrit
$arr['item'] car PHP va considérer "item" comme
une constante, au premier abord. Si cette constante n'est pas définie,
alors il va l'utiliser comme une chaîne.
En PHP 5, un nouveau niveau d'erreur nommé E_STRICT
est disponible. Comme E_STRICT n'est pas inclus sans
E_ALL, vous devez explicitement activer ce niveau d'erreur.
Activer E_STRICT pendant le développement peut être
bénéfique. Les messages STRICT vous aideront à utiliser la dernière et meilleure
suggestion de méthode de codage, par exemple, vous alertera de l'utilisation
de fonctions non recommandées.
Les constantes PHP en dehors de PHP
L'utilisation des constantes PHP en dehors de PHP, comme dans le fichier
httpd.conf, n'a pas de signification utile mise à part
dans les cas où des valeurs entières sont nécessaires. Et depuis que les niveaux
d'erreurs ont été ajoutés, la valeur maximale (pour E_ALL)
devrait changée. Donc, à la place de E_ALL, utilisez
plutôt une valeur plus grande pour couvrir tous les octets, une valeur numérique comme
2147483647.
display_errorsstring
Cette directive détermine si les erreurs doivent être
affichées à l'écran ou non.
La valeur "stderr" envoie les erreurs vers stderr
plutôt que vers stdout. La valeur est disponible
depuis PHP 5.2.4. Dans les anciennes versions, cette directive était
du type boolean.
C'est une directive nécessaire en développement mais qui ne doit jamais être utilisée
sur un système en production. (e.g. systèmes connectés à Internet).
Bien que display_errors peut être défini en cours d'exécution (avec
la fonction ini_set), il n'aura aucun effet si le script
a des erreurs fatales, car l'action désirée au moment de l'exécution
ne sera pas exécutée.
display_startup_errorsboolean
Même si display_errors est activé, des erreurs peuvent survenir lors
de la séquence de démarrage de PHP, et ces erreurs sont cachées.
Avec cette option, vous pouvez les afficher, ce qui est recommandé
pour le déboguage. En dehors de ce cas, il est fortement recommandé
de laisser display_startup_errors à off.
log_errorsboolean
Indique où les messages d'erreur générés doivent
être écrits : dans l'historique du serveur ou dans
error_log. Cette fonction est spécifique aux serveurs.
Il est recommandé d'utiliser l'historique d'erreur, plutôt que
d'afficher les erreurs sur les sites de production.
log_errors_max_leninteger
Configure la taille maximale des erreurs qui seront enregistrées dans
l'historique, en kilo octets. Dans les informations de
error_log, l'origine est ajoutée.
La valeur par défaut est de 1024. 0 signifie qu'il n'y a pas de limite de
taille.
Cette longueur est appliquée pour enregistrer dans l'historique les erreurs,
afficher les erreurs et également à
$php_errormsg.
&ini.shorthandbytes;
ignore_repeated_errorsboolean
Ne pas enregistrer des messages répétitifs. Les erreurs répétées
doivent survenir au même moment, à la même ligne et depuis le même fichier de script,
à moins que ignore_repeated_source
soit défini à &true;.
ignore_repeated_sourceboolean
Ignore la source du message lors des messages répétés. Lorsque vous avez configuré
cette option à On, vous n'enregistrerez pas les erreurs répétées
provenant de fichiers et lignes de code différents.
report_memleaksboolean
Si ce paramètre est mis à Off, alors les fuites de mémoires ne seront pas
affichées (sur la sortie standard, stdout ou dans les logs). Cette option
n'a d'effet que si PHP a été compilé avec l'option de déboguage, et si
error_reporting inclut
E_WARNING dans sa liste.
track_errorsboolean
Si cette option est activée, le dernier message d'erreur sera placé dans la
variable $php_errormsg.
html_errorsboolean
Désactive les balises HTML dans les messages d'erreurs. Le nouveau
format d'erreurs HTML fournit des messages avec liens hypertexte, qui redirige
l'utilisateur vers la documentation de l'erreur ou de la fonction. Ces
références sont affectées par
docref_root et
docref_ext.
xmlrpc_errorsboolean
Désactive le rapport normal d'erreur et formate les erreurs comme des messages d'erreur XML-RPC.
xmlrpc_error_numberinteger
Utilisé comme valeur de l'élément XML-RPC faultcode.
docref_rootstring
Le nouveau format d'erreur contient une référence à une page décrivant
l'erreur, ou la fonction ayant causé l'erreur. Pour le manuel, vous pouvez
télécharger ce dernier dans votre langue, et configurer cette option pour qu'elle
pointe sur lui. Si votre copie du manuel est accessible à
"/manual/", vous pouvez simplement utiliser
docref_root=/manual/. De plus, vous devez configurer
docref_ext pour qu'elle corresponde aux extensions de votre manuel.
docref_ext=.html. Il est possible d'utiliser des
références externes. Par exemple, vous pouvez utiliser
docref_root=http://manual/en/ ou
docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon&url=http%3A%2F%2Fwww.php.net%2F"
La plupart du temps, vous utilisez l'option docref_root avec un slash a la fin ("/").
Mais ce n'est pas obligatoire, comme le montre le second exemple ci-dessus.
Cette directive est destiné à vous aider dans votre développement en rendant
facile la consultation de la description d'une fonction. Ne jamais l'utiliser sur un
système de production (e.g. système connecté à Internet).
docref_extstring
Voir aussi docref_root.
La valeur de docref_ext doit commencer par un point ".".
error_prepend_stringstring
La chaîne à placer avant les messages d'erreur.
error_append_stringstring
La chaîne à placer après les messages d'erreur.
error_logstring
Nom du fichier où seront enregistrées les erreurs. Le fichier
doit être accessible en écriture par l'utilisateur exécutant
le serveur web. Si la
valeur spéciale syslog est utilisée, les erreurs
seront envoyées au système d'historique du serveur. Sous
Unix, cela correspond à syslog(3) et sous Windows NT, à
l'historique d'événement. L'historique n'est pas supporté
sous Windows 95. Voir aussi : syslog.
Si cette directive n'est pas fixée, les erreurs sont envoyées au journal
d'erreurs SAPI. Par exemple, s'il s'agit d'une erreur de journal dans
Apache ou stderr dans CLI.