Bases

PHP signale des erreurs en rĂ©ponse Ă  un certain nombre de conditions d'erreurs internes. Celles-ci peuvent ĂȘtre utilisĂ©es 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 d'erreur est disponible, ainsi qu'une brÚve description de leur comportement et leur cause possible.

Gestion des erreurs en PHP

Si aucun gestionnaire d'erreur n'est défini, PHP gérera les erreurs qui se produisent selon sa configuration. Quelles erreurs seront signalées et lesquelles seront ignorées est contrÎlé 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 produire 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 de corriger les problĂšmes relevĂ©s par PHP. En production il est possible de configurer la directive avec un niveau moins verbeux tel que E_ALL & ~E_NOTICE & ~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 directives php.ini supplĂ©mentaires. 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, telles 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ĂȘmement 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 par dĂ©faut de PHP ne convient pas, beaucoup de types d'erreurs peuvent ĂȘtre gĂ©rĂ©s par un gestionnaire d'erreur personnalisĂ© qui peut ĂȘtre dĂ©fini 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Ă©s 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 l'erreur de façon plus directe qu'en l'enregistrant dans un fichier, comme en envoyant un courriel Ă©lectronique.

add a note

User Contributed Notes

There are no user contributed notes for this page.