Configuration � l'ex�cution

Le comportement de ces fonctions est affect� par la configuration dans le fichier php.ini.

Options de configuration pour la gestion d'erreurs
Nom D�faut Modifiable Historique
error_reporting NULL PHP_INI_ALL  
display_errors "1" PHP_INI_ALL  
display_startup_errors "0" PHP_INI_ALL  
log_errors "0" PHP_INI_ALL  
log_errors_max_len "1024" PHP_INI_ALL Disponible depuis PHP 4.3.0.
ignore_repeated_errors "0" PHP_INI_ALL Disponible depuis PHP 4.3.0.
ignore_repeated_source "0" PHP_INI_ALL Disponible depuis PHP 4.3.0.
report_memleaks "1" PHP_INI_ALL Disponible depuis PHP 4.3.0.
track_errors "0" PHP_INI_ALL  
html_errors "1" PHP_INI_ALL PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors "0" PHP_INI_SYSTEM Disponible depuis PHP 4.1.0.
xmlrpc_error_number "0" PHP_INI_ALL Disponible depuis PHP 4.1.0.
docref_root "" PHP_INI_ALL Disponible depuis PHP 4.3.0.
docref_ext "" PHP_INI_ALL Disponible depuis PHP 4.3.2.
error_prepend_string NULL PHP_INI_ALL  
error_append_string NULL PHP_INI_ALL  
error_log NULL PHP_INI_ALL  

Pour plus de d�tails sur les modes PHP_INI_*, reportez-vous � O� une directive de configuration peut �tre modifi�e.

Voici un �claircissement sur l'utilisation des directives de configuration.

error_reporting integer

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.

Note: 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.

Note: 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.

Note: 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_errors string

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.

Note: 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).

Note: 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_errors boolean

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_errors boolean

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.

Note: Il est recommand� d'utiliser l'historique d'erreur, plut�t que d'afficher les erreurs sur les sites de production.

log_errors_max_len integer

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.

Lorsqu'un entier est utilis�, sa valeur est mesur�e en octets. Vous pouvez �galement utiliser la notation st�nographique comme d�crit dans cette entr�e de la FAQ..
ignore_repeated_errors boolean

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_source boolean

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_memleaks boolean

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_errors boolean

Si cette option est activ�e, le dernier message d'erreur sera plac� dans la variable $php_errormsg.

html_errors boolean

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_errors boolean

D�sactive le rapport normal d'erreur et formate les erreurs comme des messages d'erreur XML-RPC.

xmlrpc_error_number integer

Utilis� comme valeur de l'�l�ment XML-RPC faultcode.

docref_root string

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=.php . 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.

Note: 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_ext string

Voir aussi docref_root.

Note: La valeur de docref_ext doit commencer par un point ".".

error_prepend_string string

La cha�ne � placer avant les messages d'erreur.

error_append_string string

La cha�ne � placer apr�s les messages d'erreur.

error_log string

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.