re,
Bon voila j'ai ecrit un bout de code pour logguer mes erreurs dans des fichiers avec la fonction set_error_handler
voila ce que j'ai ecrit :
$debug=1; //activer le débugage
//debug=0: //désactiver le débugage
if ($debug == 1)
{
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
$msg_erreur="";
// commenter ou décommenter les lignes que vous voulez débuger
switch ($errno) {
case E_USER_ERROR:
$msg_erreur.= "E_USER_ERROR";
break;
case E_ERROR:
$msg_erreur.= "E_ERROR";
break;
case E_WARNING:
$msg_erreur.= "E_WARNING";
break;
case E_PARSE:
$msg_erreur.= "E_PARSE";
break;
case E_NOTICE:
$msg_erreur.= "E_NOTICE";
break;
case E_CORE_ERROR:
$msg_erreur.= "E_CORE_ERROR";
break;
case E_CORE_WARNING:
$msg_erreur.= "E_CORE_WARNING";
break;
case E_COMPILE_ERROR:
$msg_erreur.= "E_COMPILE_ERROR";
break;
case E_COMPILE_WARNING:
$msg_erreur.= "E_COMPILE_WARNING";
break;
case E_USER_ERROR:
$msg_erreur.= "E_USER_ERROR";
break;
case E_USER_WARNING:
$msg_erreur.= "E_USER_WARNING";
break;
case E_USER_NOTICE:
$msg_erreur.= "E_USER_NOTICE";
break;
case E_ALL:
$msg_erreur.= "E_ALL";
break;
case E_STRICT:
$msg_erreur.= "E_STRICT";
break;
case E_RECOVERABLE_ERROR:
$msg_erreur.= "E_RECOVERABLE_ERROR";
break;
default:
$msg_erreur.= "INCONNU";
}
if ($msg_erreur != "" )
{
$jour = date("d" );
$mois = date("m" );
$annee = date("Y" );
$heure = date("H" );
$min = date("i" );
$msg_date="$jour/$mois/$annee $heure:$min - ";
$msg_erreur=$msg_date . $msg_erreur;
$msg_erreur.= ' ' . $errstr;
$msg_erreur.= ' ' . $errfile;
$msg_erreur.= ' ' . $errline;
$msg_erreur.= "\n";
file_put_contents(dirname(__FILE__) . '/../error2.log',$msg_erreur,FILE_APPEND);
}
/* Ne pas exécuter le gestionnaire interne de PHP */
return true;
}
// Configuration du gestionnaire d'erreurs
$old_error_handler = set_error_handler("myErrorHandler" );
}
|
et y'a qu'a faire un include de ce fichier dans les pages que l'on veux logguer.
Ca fonctionne très bien chez moi pas contre chez free ca ne log que les erreurs simple (E_NOTICE), pas les warnings ou strict
a moins que qq'un est une idée je crois que ma premiere hypothese va s'averer vrai ("Je vais quand meme essayer seterrorHandler, mais à mon avis le résultat sera : soit ca marche pas, soit je me fait blacklister mon site. " )
omega2 trouve moi une erreur dans mon code que j'arrete d'etre medisant des pages perso de free.
---------------
Du tofu en Alsace : www.tofuhong.com