|
|
|
|
Bonjour,
Je souhaiterais récupérer les erreurs générés lors d'une erreur de programmation dans un script php.
Je souhaiterais les récupérer pour les personnaliser lors de l'affichage mais je ne vois pas comment faire.
Pouvez-vous m'aider SVP ?
merci beaucoup d'avance.
Configuration: Windows Vista Firefox 3.0.4
Bonjour,
|
Salut,
ErrorDocument 404 /index.php?page=accueil&erreur=404 dans ce cas ci, si tu as une erreur 404, tu sera redirigé a la page indiqué. cela fonctionne avec tout les type d'erreur. L'amour, c'est comme les spaghettis; quand c'est mou, c'est cuit. (proverbe belge) |
Il a dit "Lors d'une erreur de programmation dans un script php" .
|
http://www.manuelphp.com/php/ref.errorfunc.php
|
Ha ouai ok je vois, déso :p
|
Bonne merde on dit :p de ohuni
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
// Date et heure de l'erreur
$dt = date("Y-m-d H:i:s (T)");
// Définit un tableau associatif avec les chaînes d'erreur
// En fait, les seuls niveaux qui nous interessent
// sont E_WARNING, E_NOTICE, E_USER_ERROR,
// E_USER_WARNING et E_USER_NOTICE
$errortype = array (
E_ERROR => 'Erreur',
E_WARNING => 'Alerte',
E_PARSE => 'Erreur d\'analyse',
E_NOTICE => 'Note',
E_CORE_ERROR => 'Core Error',
E_CORE_WARNING => 'Core Warning',
E_COMPILE_ERROR => 'Compile Error',
E_COMPILE_WARNING => 'Compile Warning',
E_USER_ERROR => 'Erreur spécifique',
E_USER_WARNING => 'Alerte spécifique',
E_USER_NOTICE => 'Note spécifique',
E_STRICT => 'Runtime Notice',
E_RECOVERABLE_ERROR => 'Catchable Fatal Error'
);
// Les niveaux qui seront enregistrés
$user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);
$err = "<errorentry>\n";
$err .= "\t<datetime>" . $dt . "</datetime>\n";
$err .= "\t<errornum>" . $errno . "</errornum>\n";
$err .= "\t<errortype>" . $errortype[$errno] . "</errortype>\n";
$err .= "\t<errormsg>" . $errmsg . "</errormsg>\n";
$err .= "\t<scriptname>" . $filename . "</scriptname>\n";
$err .= "\t<scriptlinenum>" . $linenum . "</scriptlinenum>\n";
if (in_array($errno, $user_errors)) {
$err .= "\t<vartrace>".wddx_serialize_value($vars,"Variables")."</vartrace>\n";
}
$err .= "</errorentry>\n\n";
// sauvegarde de l'erreur, et mail si c'est critique
error_log($err, 3, "/usr/local/php4/error.log");
if ($errno == E_USER_ERROR) {
mail("phpdev@example.com","Critical User Error",$err);
}
}
et qui est appelé de la façon suivante : $old_error_handler = set_error_handler("userErrorHandler");
Pouvez-vous me dire comment cette fonction arrive a déclarer le variable : $errno Parce que même en faisant le pires erreurs de php ça ne marche pas chez moi ! |