10.Déboguer une application PHP
10.3.Via un fichier de traces/logs (pas toujours suffisant)
10.3.1.Retour sur la méthode des echo()
Nous vous avons présenté en introduction de ce chapitre sur le débogage
[où?], 3 méthodes plus ou moins simples, plus ou moins efficaces et plus ou moins professionnelles pour déboguer du code PHP. Dans le chapitre précédent, nous avons détaillés, la version simpliste qui consiste à ajouter des
echo() au fil du code pour en suivre le déroulé.
Il va de soit que cette méthode peut difficilement être mise en oeuvre sur un site en production. Si les utilisateurs d'un site web en PHP voient apparaîtrent ces traces de débogage c'est l'image de l'entreprise qui est écornée.
Bien sûr, il est toujours possible d'envisager de n'être que la seule personne qui voit s'afficher ces traces de débogage. Pour cela, il faudra ne les afficher que lorsque le site est consulté depuis notre poste de travail (via par exemple $_SERVER['REMOTE_ADDR'] si l'on exclu la problématique des proxys) mais ce n'est vraiment pas satisfaisant et réduit le coté facile de la mise en oeuvre d'un tel procédé. En outre, modifier à la volée le code source d'un site en production n'est, là encore, pas très professionnel.
10.3.2.Le fichier de logs/traces comme une alternative
Plutôt que de faire apparaître ces traces à l'écran il est préférable de les stocker dans un fichier.
Nous vous invitons donc à consulter le chapitre sur la
création d'un fichier de traces/logs en PHP étant entendu que l'utilisation de tels fichiers n'est pas restreint au cas du débogage puisqu'ils peuvent être tout autant utilisés dans le cadre d'un suivi d'activité (i.e. également dans des cas nominaux).
10.3.3.Limitations
On notera toutefois, qu'il n'est pas sérieusement envisageable de loguer toutes les informations et données traitées par l'application (pour des raisons de performance, de volumétrie des fichiers, etc.) en conséquence, ces fichiers peuvent ne pas contenir suffisamment d'informations pertinentes permettant le débogage d'une application.
Par conséquent, il peut être préférable de mettre en place une solution de débogage en mode pas à pas comme nous vous la présentons dans le chapitre suivant.