Bases
PHP signale des erreurs en reponse à un certaines nombres de conditions d'erreurs internes. Ceux-ci peuvent être utilisés pour indiquer une multitude de problèmes différents, et peuvent être affichées et/ou enregistrées dans l'historique selon les besoins.
Chaque erreur que PHP génère comprend un type. Une liste de ces types est disponible, ainsi qu'une brève description de leur comportement et leurs cause possible.
Gestion des erreurs en PHP
Si aucun gestionnaire d'erreur n'est defini, PHP gèrera les erreurs qui se
produise selon sa configuration. Quelles erreurs seront signalées et lesquels
seront ignorées sont contrôler par la directive php.ini
error_reporting
ou lors de l'exécution du script en appelant error_reporting(). Il est toutefois fortement recommandé de
configurer la directive, car certaines erreurs peuvent se produires avant
que l'exécution du script débute.
Dans un environnement de développement, la directive
error_reporting
devrait toujours être configurée avec E_ALL
, afin d'être
informé et corriger les problèmes relevés par PHP. En production il est possible
configurer la directive avec un niveau moins verbeux tel que
E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
,
mais généralement E_ALL
reste approprié car il peut fournir
des avertissements en avance à des problèmes potentiels.
Comment PHP traite ces erreurs dépend de deux directive php.ini supplémentaire.
display_errors
détermine si le message d'erreur est affiché dans la sortie du script.
Ceci devrait toujours être désactivé dans un environnement de production, car
le message d'erreur peut contenir des informations confidentielles, tel que les
mots de passe de base de données. Cependant il est souvent utile d'activer cette
directive lors du développement, car ceci assure un signalement immédiat des problèmes.
En plus d'afficher les erreurs, PHP peut enregistrer les erreurs quand la
directive log_errors
est activée. Toutes les erreurs seront alors enregistrées dans le fichier ou
syslog défini par
error_log
.
Ceci est extrêment utile dans un environnement de production, car les erreurs qui
se produisent seront enregistrées, et des rapports pourront être générés en
s'appuyant sur ces erreurs.
Gestionnaire d'erreurs d'utilisateur
Si le gestionnaire d'erreur de PHP par defaut ne convient pas, beaucoup de types d'erreurs peuvent être gérées par un gestionnaire d'erreur personalisé qui peut être définit avec set_error_handler(). Bien que certains types d'erreurs ne puissent pas être gérés de cette manière, ceux qui le peuvent seront gérées de la manière que le script utilisateur juge appropriée : par exemple, ceci peut être utilisé pour afficher une page d'erreur personnalisée à l'utilisateur et signaler plus directement plutôt que l'enregistrer dans un fichier, comme en envoyant un courriel électronique.
Version en cache
21/11/2024 22:38:41 Cette version de la page est en cache (à la date du 21/11/2024 22:38:41) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-language.errors.basics.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.