chani_t From Dune | Pour moi ce qu'il faut faire :
utiliser des trigger_error, afin de pouvoir générer des erreurs à partir de défauts habituels exemple :
Code :
- $this->db = mysql_select_db($config->database1, $this->connect)
- or trigger_error ('Sélection de la base de données impossible '.mysql_error(), E_USER_WARNING);
|
Ensuite gérer les erreurs en direct quand le site est en phase de test, sinon gérer les erreurs via un log et/ou via l'envois d'email à l'admin en phase de production.
Code :
- /*
- * Fonction de configuration de la gestion des erreurs
- */
- function gestion_erreur($type_gestion) {
- if ($type_gestion=1) { //phase de test
- error_reporting (E_ALL | E_STRICT); //filtrage des erreurs reportées
- ini_set('display_errors', true); //affichage des erreurs
- ini_set('html_errors', false); //désactivation des liens html dans les erreurs
- ini_set('display_startup_errors',true); //affichage des erreurs de démarrage
- ini_set('log_errors', true); //création d'un fichier de log
- ini_set('error_log', 'journal/error.log'); //localisation du fichier de log
- ini_set('error_prepend_string','<font color="red">'); //début mise en forme erreur
- ini_set('error_append_string','</font>'); //fin mise en forme erreur
- ini_set('ignore_repeated_errors', true); //ignorer les erreurs répétées
- }
- elseif ($type_gestion=2) { //phase de production avec fichier log externe
- error_reporting (E_ALL); //filtrage des erreurs reportées
- ini_set('display_errors', false); //affichage des erreurs
- ini_set('html_errors', false); //désactivation des liens html dans les erreurs
- ini_set('display_startup_errors',false); //affichage des erreurs de démarrage
- ini_set('log_errors', true); //création d'un fichier de log
- ini_set('error_log', 'journal/error.log'); //localisation du fichier de log
- ini_set('error_prepend_string','<font color="red">'); //début mise en forme erreur
- ini_set('error_append_string','</font>'); //fin mise en forme erreur
- ini_set('ignore_repeated_errors', true); //ignorer les erreurs répétées
- }
- else { //phase de production avec journal système
- error_reporting (E_ALL); //filtrage des erreurs reportées
- ini_set('display_errors', false); //affichage des erreurs
- ini_set('html_errors', false); //désactivation des liens html dans les erreurs
- ini_set('display_startup_errors',false); //affichage des erreurs de démarrage
- ini_set('log_errors', false);
- }
- }
|
vla une fonction qu eje me suis fait, et que j'utilise pour configurer la gestion des erreurs.
Note : J'utilise aussi les PDO donc je récupére les exceptions via try / catch, et je les renvois vers l'utilisateur avec un trigger_error. Je ne sais pas si c'est l'idéal, mais c'est comme ça que je fait  |