Salut j'ai un probleme avec une fonction permettant de gerer les erreurs php
Je travail avec php5 (wamp5) en local, dans le dossier racine j'ai cree un dossier pour le projet en cours.
La fonction doit envoyer des mail, ecrire dans un fichier ou afficher l'erreur,
pour l'ecriture dans le fichier et affichage sur ecran ca marche mais pour ce qui est de l'envois de mail ca bloque.Pouvez vous m'indiquer pourquoi et comment y remedier?
J'ai aussi constate que les constantes _file_ et _line_ ne sont pas toujours assigne pourquoi ?
Voici le code que j'utilise
// Redefinition des constantes
define (FATAL,E_USER_ERROR);
define (ERROR,E_USER_WARNING);
define (WARNING,E_USER_NOTICE);
// Definition du niveau d'activation des erreurs
error_reporting(FATAL + ERROR + WARNING);
// Fonction du Gestionnaire d'erreur qui va envoyer des mail pour des erreur FATALES
// ou faire des entree dans fichier log pour les erreurs utilisateur et warning
function GestionErreur($errno,$errstr)
{
$Date = strftime ("%A %d %B %H-%M-%S");
switch ($errno)
{
case FATAL :
{
error_log("Le $Date $PHP_AUTH_USER a provoque l'erreur FATALE $errstr à la ligne "._LINE_." du fichier "._FILE_."\n",1,"misterlove007@gmail.com");
break;
}
case ERROR :
{
error_log("Le $Date $PHP_AUTH_USER a provoque l'erreur ERROR $errstr à la ligne "._LINE_." du fichier "._FILE_."\n",3,"test.txt");
break;
}
case WARNING :
{
error_log("Le $Date $PHP_AUTH_USER a provoque l'erreur WARNING $errstr à la ligne "._LINE_." du fichier "._FILE_."\n",3,"test.txt");
break;
}
default : echo("Le $Date $PHP_AUTH_USER a provoque l'erreur inconnue $errstr à la ligne "._LINE_." du fichier "._FILE_."\n");
}
}
// Sauve le pointeur de l'ancien gestionnaire d'erreur
$AncienGestionnaire=set_error_handler(GestionErreur);
//Teste different types d'erreurs
trigger_error(" Trigger d'erreur fatale ",E_USER_ERROR);
//trigger_error(" Trigger d'erreur user ",E_USER_WARNING);
//trigger_error(" Trigger d'erreur note ",E_USER_NOTICE);
Partager