PHP Erreur Fonctions


Introduction aux erreurs PHP

Les fonctions d'erreur sont utilisées pour gérer le traitement des erreurs et la journalisation.

Ces fonctions nous permettent de définir nos propres règles de gestion des erreurs et de modifier la manière dont celles-ci peuvent être enregistrées.

Les fonctions de journalisation nous permettent d'envoyer des messages directement à d'autres machines, par e-mail ou dans les journaux système.

Les fonctions de rapport d'erreurs nous permettent de personnaliser le niveau et le type de retour d'erreur qui est fourni.


Installation

Les fonctions d'erreur PHP font partie du noyau de PHP. Aucune installation n'est requise pour utiliser ces fonctions.


Configuration à l'exécution

Le comportement des fonctions d'erreur est influencé par les paramètres dans le fichier php.ini.

Options de configuration des erreurs et de journalisation :

Nom Par défaut Description Modifiable
error_reporting NULL Définit le niveau de rapport d'erreurs (soit un entier, soit des constantes nommées) PHP_INI_ALL
display_errors "1" Spécifie si les erreurs doivent être affichées à l'écran ou si elles doivent être cachées à l'utilisateur.
Remarque : Cette fonctionnalité ne doit jamais être utilisée sur des systèmes de production (uniquement pour soutenir votre développement)
PHP_INI_ALL
display_startup_errors "0" Même lorsque display_errors est activé, les erreurs qui se produisent pendant la séquence de démarrage de PHP ne sont pas affichées.
Remarque : Il est fortement recommandé de garder display_startup_errors désactivé, sauf pour le débogage.
PHP_INI_ALL
log_errors "0" Définit si les messages d'erreur du script doivent être enregistrés dans le journal des erreurs du serveur ou dans error_log.
Remarque : Il est fortement conseillé d'utiliser la journalisation des erreurs au lieu de l'affichage des erreurs sur les sites web de production.
PHP_INI_ALL
log_errors_max_len "1024" Définit la longueur maximale de log_errors en octets. La valeur "0" peut être utilisée pour ne pas appliquer de longueur maximale du tout. Cette longueur s'applique aux erreurs enregistrées, aux erreurs affichées, et également à $php_errormsg (disponible depuis PHP 4.3). PHP_INI_ALL
ignore_repeated_errors "0" Spécifie s'il faut enregistrer les messages d'erreur répétés. Lorsqu'il est défini sur "1", il ne journalisera pas les erreurs répétées du même fichier sur la même ligne (disponible depuis PHP 4.3). PHP_INI_ALL
ignore_repeated_source "0" Spécifie s'il faut enregistrer les messages d'erreur répétés. Lorsqu'il est défini sur "1", il ne journalisera pas les erreurs répétées provenant de fichiers ou de lignes de code différents (disponible depuis PHP 4.3). PHP_INI_ALL
report_memleaks "1" S'il est défini sur "1" (la valeur par défaut), ce paramètre affichera un rapport des fuites de mémoire détectées par le gestionnaire de mémoire Zend (disponible depuis PHP 4.3). PHP_INI_ALL
track_errors "0" S'il est défini sur "1", le dernier message d'erreur sera toujours présent dans la variable $php_errormsg. PHP_INI_ALL
html_errors "1" Désactive 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 normal des erreurs et formate les erreurs en tant que message d'erreur XML-RPC (disponible depuis PHP 4.1). PHP_INI_SYSTEM
xmlrpc_error_number "0" Utilisé comme valeur de l'élément faultCode XML-RPC (disponible depuis PHP 4.1). PHP_INI_ALL
docref_root "" (disponible depuis PHP 4.3). PHP_INI_ALL
docref_ext "" (disponible depuis PHP 4.3.2). PHP_INI_ALL
error_prepend_string NULL Spécifie une chaîne à afficher avant un message d'erreur. PHP_INI_ALL
error_append_string NULL Spécifie une chaîne à afficher après un message d'erreur. PHP_INI_ALL
error_log NULL Spécifie le nom du fichier où les erreurs de script doivent être enregistrées. Le fichier doit être accessible en écriture par l'utilisateur du serveur web. Si la valeur spéciale syslog est utilisée, les erreurs sont envoyées au journal système à la place. PHP_INI_ALL


Fonctions d'erreur et de journalisation PHP

Fonction Description
debug_backtrace() Génère une trace de pile.
debug_print_backtrace() Imprime une trace de pile.
error_clear_last() Efface la dernière erreur.
error_get_last() Renvoie la dernière erreur survenue.
error_log() Envoie un message d'erreur à un journal, à un fichier ou à un compte de messagerie.
error_reporting() Spécifie quelles erreurs sont rapportées.
restore_error_handler() Restaure le gestionnaire d'erreurs précédent.
restore_exception_handler() Restaure le gestionnaire d'exceptions précédent.
set_error_handler() Définit une fonction de gestionnaire d'erreurs définie par l'utilisateur.
set_exception_handler() Définit une fonction de gestionnaire d'exceptions définie par l'utilisateur.
trigger_error() Crée un message d'erreur de niveau utilisateur.
user_error() Alias de trigger_error()

Constantes d'erreur et de journalisation prédéfinies PHP

Valeur Constante Description
1 E_ERROR Erreurs fatales à l'exécution. Erreurs dont on ne peut pas se remettre. L'exécution du script est arrêtée.
2 E_WARNING Avertissements à l'exécution (erreurs non fatales). L'exécution du script n'est pas arrêtée.
4 E_PARSE Erreurs de parsing à la compilation. Les erreurs de parsing ne doivent être générées que par le parseur.
8 E_NOTICE Avis à l'exécution. Le script a trouvé quelque chose qui pourrait être une erreur, mais qui pourrait également se produire lors de l'exécution normale d'un script.
16 E_CORE_ERROR Erreurs fatales au démarrage de PHP. C'est comme E_ERROR, sauf qu'elle est générée par le noyau de PHP.
32 E_CORE_WARNING Erreurs non fatales au démarrage de PHP. C'est comme E_WARNING, sauf qu'elle est générée par le noyau de PHP.
64 E_COMPILE_ERROR Erreurs fatales à la compilation. C'est comme E_ERROR, sauf qu'elle est générée par le moteur de script Zend.
128 E_COMPILE_WARNING Erreurs non fatales à la compilation. C'est comme E_WARNING, sauf qu'elle est générée par le moteur de script Zend.
256 E_USER_ERROR Erreur fatale générée par l'utilisateur. C'est comme E_ERROR, sauf qu'elle est générée dans le code PHP en utilisant la fonction PHP trigger_error().
512 E_USER_WARNING Avertissement non fatal généré par l'utilisateur. C'est comme E_WARNING, sauf qu'il est généré dans le code PHP en utilisant la fonction PHP trigger_error().
1024 E_USER_NOTICE Avis généré par l'utilisateur. C'est comme E_NOTICE, sauf qu'il est généré dans le code PHP en utilisant la fonction PHP trigger_error().
2048 E_STRICT Activez pour que PHP suggère des modifications à votre code qui garantiront la meilleure interopérabilité et compatibilité future de votre code (Depuis PHP 5 mais non inclus dans E_ALL jusqu'à PHP 5.4).
4096 E_RECOVERABLE_ERROR Erreur fatale attrapable. Indique qu'une erreur probablement dangereuse s'est produite, mais n'a pas laissé le moteur dans un état instable. Si l'erreur n'est pas attrapée par un gestionnaire défini par l'utilisateur, l'application s'arrête comme si c'était une E_ERROR (Depuis PHP 5.2).
8192 E_DEPRECATED Avis à l'exécution. Activez ceci pour recevoir des avertissements concernant le code qui ne fonctionnera pas dans les futures versions (Depuis PHP 5.3).
16384 E_USER_DEPRECATED Message d'avertissement généré par l'utilisateur. C'est comme E_DEPRECATED, sauf qu'il est généré dans le code PHP en utilisant la fonction PHP trigger_error() (Depuis PHP 5.3).
32767 E_ALL Activez toutes les erreurs et avertissements PHP (sauf E_STRICT dans les versions < 5.4).