Gérer les erreurs dans un script PHP Les fonctions PHP de gestion des erreurs
PHP propose plusieurs fonctions permettant de gérer correctement les erreurs dans un script :
Nom | Rôle |
---|---|
Source : ENI | |
error_reporting | Définit les niveaux d'erreur qui sont affichés par PHP. |
error_log | Envoie un message d'erreur vers une destination (fichier par exemple). |
set_error_handler | Indique le nom d'une fonction utilisateur à employer comme gestionnaire d'erreurs. |
restore_error_handler | Réactive l'ancien gestionnaire d'erreurs. |
trigger_error user_error | Déclenche une erreur définie par le développeur (user_error est un alias de trigger_error). |
error_get_last | Retourne des informations sur la dernière erreur rencontrée dans le script. |
En complément, l'opérateur @, placé devant le nom d'une fonction, permet de supprimer l'affichage des messages générés, en cas d'erreur, dans la fonction.
Exemple
<?php
$fichier = @fopen('/tmp/infos.txt','r');
$texte = @fread($fichier,100);
@fclose($fichier);
?>
Lors de l'exécution de ce script, aucun message n'est affiché bien que le fichier demandé n'existe pas.
Si l'erreur provoque l'arrêt du script, l'utilisation de l'opérateur @ n'y change rien ; la page affichée est alors vide ou incomplète, et aucun message n'est affiché à l'utilisateur. Il convient donc de tester le résultat des fonctions, ou d'utiliser un gestionnaire d'erreurs, afin de contrôler le déroulement du programme et de réaliser les traitements nécessaires.