CakeFest 2024: The Official CakePHP Conference

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 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.
To Top