Erreurs
PHP Manual

Bases

Le PHP rapporte des erreurs en reponse à un certaines conditions d'erreurs internes. Elles peuvent être utilisées pour signaler des causes d'erreur différentes, et peuvent être affichées à l'écran ou/et enregistrées dans l'historique

Chaque erreur générée par PHP a un type. Une liste de ces types, ainsi qu'une brève description et leur cause possible est disponible.

Gestion des erreurs en PHP

Si aucun gestionnaire d'erreur n'est defini, le PHP gèrera les erreurs selon sa configuration. La directive error_reporting du fichier php.ini ou la fonction error_reporting() appelée au moment de l'execution du script determineront les erreurs qui seront rapportées et les erreurs qui seront ignorées. Il toutefois est fortement recommandé de configurer la directive, car des erreurs peuvent se produires avant le lancement du script.

Dans un environnement de développement, la directive error_reporting devrait toujours être configurée avec E_ALL, afin que chaque erreur PHP puisse être détéctée et corrigée. Dans un environnement de production, il est possible de configurer la directive avec un niveau moins verbeux tel que E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED, mais généralement, la directive peut etre laissée à E_ALL pour signaler les problèmes éventuels le plus tôt possible.

Deux autres directives du fichier php.ini determinent comment le PHP traite ces erreurs. display_errors détermine si le message d'erreur est affiché sur la sortie du script. Elle devrait toujours être désactivée dans un environnement de production, car le message d'erreur peut contenir des informations confidentielles, comme les mots de passe de base de données. Mais, cette directive peut être activée dans un environnement de developpement, car elle permet un affichage immédiat des erreurs

En plus d'afficher les erreurs, le PHP peut enregistrer le message d'erreur quand la directive log_errors est activée. Toutes les erreurs seront alors enregistrées dans le gestionnaire d'erreur ou le fichier défini par error_log. Ceci est très utile dans un environnement de production, car les erreurs se produisant seront enregistrées, et des rapports pourront être générés à partir de ces fichiers.

User error handlers

Si le gestionnaire d'erreur de PHP par defaut ne convient pas, beaucoup d'erreurs peuvent aussi être gérées par une fonction utilisateur en la définisant avec set_error_handler(). Bien que certains types d'erreur ne puissent pas être gérés de cette manière, ceux qui le peuvent seront entièrement gérées par le script utilisateur: par exemple, on pourra afficher une page d'erreur personnalisée et envoyer un rapport par email plutôt que l'enregistrer dans un fichier.


Erreurs
PHP Manual