Installation
Types de ressources
Installation/Configuration
PHP Manual

## 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 (incluant toutes les erreurs, et non juste les erreurs de type `E_ALL`).

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

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

Installation
Types de ressources
Installation/Configuration
PHP Manual