Comment crée un traceur de bug en php

Ultimata
WRInaute discret
WRInaute discret
 
Messages: 65
Inscription: 29 Mar 2007

Comment crée un traceur de bug en php

Message le Mer Aoû 06, 2008 1:19

Bonjour,

J'aimerais savoir si vous connaissez certaines astuces ou fonctions à utiliser pour crée un traceur de bug php.

C'est à dire :
Lorsqu'une page est exécuter et qu'un bug (parse error, warning etc..) apparaît, un mail soit envoyer avec les détails les plus précis possible au webmaster et qu'un message d'excuse apparaisse .


Cordialement


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Mer Aoû 06, 2008 8:15

Un Try Catch (dispo que en PHP5) te permettrait de faire ça.

Sinon si tu es sur un dédie : tu t'envois le fichier de log des erreurs php une fois par jour (mais là t'as pas de message pour le client).


dmathieu
Modérateur
Modérateur
 
Messages: 7245
Inscription: 9 Jan 2004

Message le Mer Aoû 06, 2008 8:40

Le problème du try catch, c'est qu'il faut mettre l'appel à la fonction de log d'erreur à chaque fois.

Avec la fonction set_error_handler, tu définit la fonction qui gère les erreurs et tu place le logging dedans.

Moof
WRInaute discret
WRInaute discret
 
Messages: 206
Inscription: 22 Mar 2003

Message le Mer Aoû 06, 2008 13:03

kazhar a écrit:Le problème du try catch, c'est qu'il faut mettre l'appel à la fonction de log d'erreur à chaque fois.

Avec la fonction set_error_handler, tu définit la fonction qui gère les erreurs et tu place le logging dedans.


J'utilise aussi set_error_handler, ça marche pas mal.

J'aurais une autre question, en relation avec le traçage de l'erreur. Imaginons qu'un internaute veuille afficher la page1.php, qui fait appel à une fonction définie dans page2.php, qui elle même fait appel à une autre fonction définie dans page3.php. Si une erreur survient dans cette dernière, je n'arrive à récupérer comme information que : erreur à la page3.php à la ligne x. Comment savoir que la fonction dans page3.php avait été appelée par page2.php à la ligne y, elle même appelée par page.php à la ligne z ?

Merci !

Moof
WRInaute discret
WRInaute discret
 
Messages: 206
Inscription: 22 Mar 2003

Message le Ven Aoû 08, 2008 12:01

Moof a écrit:
kazhar a écrit:Le problème du try catch, c'est qu'il faut mettre l'appel à la fonction de log d'erreur à chaque fois.

Avec la fonction set_error_handler, tu définit la fonction qui gère les erreurs et tu place le logging dedans.


J'utilise aussi set_error_handler, ça marche pas mal.

J'aurais une autre question, en relation avec le traçage de l'erreur. Imaginons qu'un internaute veuille afficher la page1.php, qui fait appel à une fonction définie dans page2.php, qui elle même fait appel à une autre fonction définie dans page3.php. Si une erreur survient dans cette dernière, je n'arrive à récupérer comme information que : erreur à la page3.php à la ligne x. Comment savoir que la fonction dans page3.php avait été appelée par page2.php à la ligne y, elle même appelée par page.php à la ligne z ?

Merci !


Je me réponds à moi-même si ça peut aider quelqu'un :) . Ce que je cherchais à faire est parfaitement rempli par la fonction debug_print_backtrace()


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités