Gestionaire parse error - PHP - Programmation
Marsh Posté le 09-08-2005 à 21:41:24
Je pense que oui. Il existe une fonction qui se déclenche sur événement (en cas d'erreur), qui permet de trapper ce genre de problème
Le problème, c'est que je connais plus son nom
Marsh Posté le 09-08-2005 à 21:42:36
erf ... pitetre que ça te revenir ... ou a quelqu'un d'autre
Marsh Posté le 09-08-2005 à 21:51:43
Je crois que c'est ca :
http://fr2.php.net/manual/fr/funct [...] andler.php
(suffisait de faire une recherche sur "handler" )
Marsh Posté le 09-08-2005 à 22:22:06
"Les types d'erreur suivants ne peuvent pas être gérés avec cette fonction : E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, ".....
Marsh Posté le 09-08-2005 à 22:39:18
Zut
Peut être celle ci, mais faut tester pour savoir si elle est bien appellée dans les cas qui t'intéressent
(en fait, c'est à celle ci que je pensais au début, même si ce n'est pas tout à fait ce dont tu as besoin )
Marsh Posté le 10-08-2005 à 09:57:23
une idée simple :
une parse error signifie que ton code php est syntaxiquement incorrect (ie ce n'est pas du php !) Donc la meilleure chose que tu puisses faire est sans doute de faire plus attention au programme que tu écris, non ?
Marsh Posté le 10-08-2005 à 10:08:32
esox_ch a écrit : Je crois qu'il te reste a regarder du coté du logger ... |
Logger ?
mcjoedassin a écrit : une idée simple : |
non, je suis en train de developper un truc et j'aimerai me rendre compte a la fin combien j'ai fais de parse error.
Marsh Posté le 10-08-2005 à 10:10:27
mcjoedassin a écrit : une idée simple : |
Biensur qu'il doit faire attention, mais rien ne l'empeche de vouloir modifier l'output ... Ca peut etre particulierement utile si tu utilises une interface de lecture fait maison ... Par exemple si le resultat de ses page est lu par un bot, il se peut qu'il prefere changer la mise en page de son erreur pour qu'elle soit mieux comprise par le bot ...
Marsh Posté le 10-08-2005 à 10:11:16
TU vas sur php.net et tu cherches, je suis sur que c'est a ta portée
Marsh Posté le 10-08-2005 à 10:18:43
Ah en fait je génère un log d'erreur, puis je le parse en php et dès qu'il trouve "parse error" il incrémente le champ de la table compteur_de_parse_error ..... non ?
Marsh Posté le 10-08-2005 à 10:33:32
euh j'ai cherché et j'ai trouvé mais ....
ce code est disponible sur php.net
Code :
|
je le lance hop il me log les erreurs, j'ajoute une erreur de type parse genre $ok = "blop" (pas de point virgule) et il me log pas .... par contre il l'affiche (parse error on line machin)....
Marsh Posté le 10-08-2005 à 10:37:56
c'est marqué ça aussi
It seems that parse errors will be handled internally even if you've designated your own error handler; that is, your error-handling function will /not/ be called on a parse error.
par ailleurs, un parser ne continue pas toujours après avoir trouvé une erreur ...
Marsh Posté le 10-08-2005 à 10:41:23
je fais quoi alors ? si il n'y pas de fonction pour logger les parses error ?
Marsh Posté le 10-08-2005 à 10:44:54
écris des programmes syntaxiquement correct, c'est simple !
il suffit que ton script passe une fois au parser sans parse error et il n'en génèrera jamais plus sur ce fichier !
Marsh Posté le 10-08-2005 à 10:45:58
non mais j'ai besoin de ce compteur de parse error alors ne me dit pas ça ! Mais si tu ne sais pas plus que moi comment faire spa grave hein !
Marsh Posté le 10-08-2005 à 11:34:35
Je parle pas d'error reporting je parle d'error logging ... Si tu matte dans les fonctions de log d'erreur tu verras que tu peux rediriger le flux vers plusieurs types d'action ... Tu patches un peu et tu as ton compteur
Marsh Posté le 10-08-2005 à 11:52:28
http://www.google.fr/search?hl=fr& [...] +php&meta=
.... et je tombe sur ce que j'ai montré plus haut
Marsh Posté le 10-08-2005 à 12:07:26
Je sais franchement pas si tu peux faire ça.
Parse error intervient quand le moteur de php charge un fichier php. La première chose qu'il fait c'est qu'il regarde si le fichier est correct. A la première erreur trouvée, il sort un PARSE ERROR (et il n'y en a qu'un, même si il y a deux erreurs dans un fichier).
Donc si il y a un parse error dans index.php, tu ne peux rien faire. Php ouvre index.php, trouve une erreur, affiche l'erreur et s'arrête (aucun code php n'est executé).
Si un parse error arrive dans un include, donc après que index.php est été considéré sans erreur et que du code php a été executé, je ne sais pas ce qu'il se passe . Mais il y a fort a parier que php stop tout execution.
PS : en cherchant un peu sur google :
http://www.nexen.net/docs/php/anno [...] -parse.php
http://answers.google.com/answers/threadview?id=545112
Marsh Posté le 10-08-2005 à 12:11:57
ah ben merci pascal_ ! je suis un peu déçu mais je préfère savori que c'est impossible que de cherche rparotuto depuis hier sans trouver
Marsh Posté le 09-08-2005 à 20:34:24
Bonjour,
J'aimerai beaucoup personnaliser les parses error genre mettre une autre phrases que PARSE ERROR
Et aussi j'aimerai faire un compteur de parse error (a chasue parse error incrémenter un variable dans un cham d'une table sql
c'est possible ?