Fonctions PHP d'erreur et de journalisationFunctions


Introduction aux erreurs et à la journalisation PHP

Les fonctions d'erreur et de journalisation vous permettent de gérer et d'enregistrer les erreurs.

Les fonctions d'erreur permettent aux utilisateurs de définir des règles de gestion des erreurs et de modifier la façon dont les erreurs sont journalisées.

Les fonctions de journalisation vous permettent d'enregistrer l'activité de l'application et d'envoyer des messages de journal par e-mail, vers les journaux système ou vers d'autres machines.


Configuration à l'exécution

Les fonctions d'erreur sont affectées par le fichier de configuration php.ini.

Options de configuration des erreurs et de la journalisation :

Paramètre Valeur par défaut Description Modifiable
error_reporting NULL Définit le niveau de rapport d'erreurs PHP et renvoie le niveau actuel (numérique ou constante). PHP_INI_ALL
display_errors "1" Cette option définit si les messages d'erreur sont affichés dans le cadre de la sortie à l'écran, ou masqués à l'utilisateur.
Remarque :Cette fonctionnalité ne doit pas être utilisée dans un environnement de production (utilisez-la pendant le développement et les tests).
PHP_INI_ALL
display_startup_errors "0" Même si display_errors est activé, les messages d'erreur lors du démarrage de PHP ne seront pas affichés. Il est fortement recommandé de définir display_startup_errors sur off, sauf à des fins de débogage. PHP_INI_ALL
log_errors "0" Détermine s'il faut journaliser les erreurs d'exécution de script dans le journal d'erreurs du serveur ou dans error_log. Notez qu'il s'agit d'une option de configuration spécifique au serveur. PHP_INI_ALL
log_errors_max_len "1024" Définit le nombre maximal d'octets de log_errors. Les informations sur la source de l'erreur sont ajoutées à error_log. La valeur par défaut est 1024. Si elle est définie sur 0, cela signifie une longueur illimitée. Ce paramètre de longueur s'applique aux erreurs journalisées, aux erreurs affichées et à $php_errormsg. PHP_INI_ALL
ignore_repeated_errors "0" Ne pas journaliser les messages répétés. Les erreurs répétées doivent se produire sur la même ligne de code dans le même fichier, sauf si ignore_repeated_source est défini sur true. PHP_INI_ALL
ignore_repeated_source "0" Lorsque les messages répétés sont ignorés, ignorer également la source du message. Lorsque ce paramètre est activé, les messages répétés n'enregistreront pas s'ils ont été générés par des fichiers différents ou des lignes de code source différentes. PHP_INI_ALL
report_memleaks "1" Si ce paramètre est défini sur Off, les informations sur les fuites de mémoire ne seront pas affichées (sur stdout ou dans le journal). PHP_INI_ALL
track_errors "0" Si activé, la dernière erreur sera toujours présente dans la variable $php_errormsg. PHP_INI_ALL
html_errors "1" Désactiver les balises HTML dans les messages d'erreur. PHP_INI_ALL
PHP_INI_SYSTEM dans PHP <= 4.2.3.
xmlrpc_errors "0" Désactive le rapport d'erreurs normal et formate les erreurs sous forme de messages d'erreur XML-RPC. PHP_INI_SYSTEM
xmlrpc_error_number "0" Utilisé comme valeur de l'élément faultCode de XML-RPC. PHP_INI_ALL
docref_root "" Le nouveau format de message d'erreur inclut une page de référence correspondante qui décrit spécifiquement l'erreur, ou décrit la fonction qui a causé l'erreur.
Pour fournir les pages du manuel, vous pouvez télécharger le manuel dans la langue correspondante depuis le site officiel de PHP et définir l'URL dans ini sur l'adresse locale correspondante.
Si votre copie locale du manuel est accessible via "/manual/", vous pouvez simplement définir docref_root=/manual/.
Vous devez également définir docref_ext pour qu'il corresponde au suffixe de vos fichiers locaux, docref_ext=.html. Bien sûr, vous pouvez aussi définir une adresse de référence externe.
Par exemple, vous pouvez définir 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"
PHP_INI_ALL
docref_ext "" Voir docref_root. PHP_INI_ALL
error_prepend_string NULL Contenu à afficher avant le message d'erreur. PHP_INI_ALL
error_append_string NULL Contenu à afficher après le message d'erreur. PHP_INI_ALL
error_log NULL Définit le fichier dans lequel les erreurs de script seront consignées. Ce fichier doit être accessible en écriture par l'utilisateur du serveur web. PHP_INI_ALL

Installation

Les fonctions de gestion des erreurs et de journalisation font partie du cœur de PHP. Aucune installation n'est nécessaire pour utiliser ces fonctions.


Fonctions d'erreur et de journalisation PHP

PHP: Indique la première version de PHP qui prend en charge cette fonction.

Fonction Description PHP
debug_backtrace() Génère une trace d'appels. 4
debug_print_backtrace() Affiche une trace d'appels. 5
error_get_last() Récupère la dernière erreur survenue. 5
error_log() Envoie une erreur vers le journal d'erreurs du serveur, un fichier ou une cible distante. 4
error_reporting() Spécifie quelles erreurs sont signalées. 4
restore_error_handler() Restaure le gestionnaire d'erreurs précédent. 4
restore_exception_handler() Restaure le gestionnaire d'exceptions précédent. 5
set_error_handler() Définit une fonction de gestionnaire d'erreurs définie par l'utilisateur. 4
set_exception_handler() Définit une fonction de gestionnaire d'exceptions définie par l'utilisateur. 5
trigger_error() Crée un message d'erreur défini par l'utilisateur. 4
user_error() Alias de trigger_error(). 4


Constantes d'erreur et de journalisation PHP

PHP: Indique la première version de PHP qui prend en charge cette constante.

Valeur Constante Description PHP
1 E_ERROR Erreur fatale à l'exécution. Une erreur qui ne peut pas être corrigée. Arrête l'exécution du script.
2 E_WARNING Erreur non fatale à l'exécution. N'arrête pas l'exécution du script.
4 E_PARSE Erreur d'analyse à la compilation. Les erreurs d'analyse ne devraient être générées que par l'analyseur syntaxique.
8 E_NOTICE Notification à l'exécution. Le script rencontre quelque chose qui pourrait être une erreur, mais cela peut aussi se produire lorsque le script s'exécute normalement.
16 E_CORE_ERROR Erreur fatale au démarrage de PHP. C'est comme E_ERROR du cœur de PHP. 4
32 E_CORE_WARNING Erreur non fatale au démarrage de PHP. C'est comme E_WARNING du cœur de PHP. 4
64 E_COMPILE_ERROR Erreur fatale à la compilation. C'est comme E_ERROR générée par le moteur de script Zend. 4
128 E_COMPILE_WARNING Erreur non fatale à la compilation. C'est comme E_WARNING générée par le moteur de script Zend. 4
256 E_USER_ERROR Erreur fatale générée par l'utilisateur. C'est comme E_ERROR générée par le programmeur à l'aide de la fonction PHP trigger_error(). 4
512 E_USER_WARNING Erreur non fatale générée par l'utilisateur. C'est comme E_WARNING générée par le programmeur à l'aide de la fonction PHP trigger_error(). 4
1024 E_USER_NOTICE Notification générée par l'utilisateur. C'est comme E_NOTICE générée par le programmeur à l'aide de la fonction PHP trigger_error(). 4
2048 E_STRICT Avis à l'exécution. PHP vous suggère de modifier votre code pour améliorer l'interopérabilité et la compatibilité. 5
4096 E_RECOVERABLE_ERROR Erreur fatale capturable. C'est comme un E_ERROR qui peut être capturé par un gestionnaire défini par l'utilisateur (voir set_error_handler()). 5
6143 E_ALL Tous les niveaux d'erreur et d'avertissement, sauf E_STRICT (à partir de PHP 6.0, E_STRICT fera partie de E_ALL). 5
Autres extensions