10.Déboguer une application PHP

10.5.Débogage pas à pas avec Xdebug

10.5.1.Introduction

Nous supposons que vous avez installé Xdebug en suivant les indications du chapitre Installation de Xdebug. Il vous reste maintenant à le configurer pour pouvoir être en mesure de faire du débogage pas à pas.
Xdebug utilisant un protocol standard de communication (DBGp) il peut être utilisé avec de nombreux outils ou éditeurs dont eclipse fait partie.

10.5.2.Configuration

Xdebug propose de nombreuses options de configuration. Pour un débogage pas à pas nous nous intéresserons tout particulièrement à:
  • xdebug.remote_enable qui permet d'autoriser au non le débogage à distance (à noter que ceci ne suffit pas totalement à l'activer)
  • xdebug.remote_host qui permet de préciser l'adresse IP du serveur (i.e. le logiciel/l'éditeur qui va permettre le débogage) à l'écoute des informations de débogage
  • xdebug.remote_port qui permet de préciser le port sur lequel le serveur écoute

10.5.3.Activation

Pour que le débogage soit activé, il faut certes que l'option xdebug.remote_enable soit à On mais il faut également préciser que pour le script a exécuter doit effectivement transmettre les informations de débogage.
Dans le cas d'un script lancé en ligne de commande, il faut que dans l'environnement d'exécution du script PHP, une variable d'environnement XDEBUG_CONFIG ait été initialisé et contienne au moins l'initialisation d'une clé d'IDE (idekey).
Dans le cas d'un site web, l'activation se fera en ajoutant à l'URL appelée, le paramètre XDEBUG_SESSION_START= suivi de la clé IDE (idekey).
Nous y reviendrons en détail lors de la présentation des outils à utiliser avec Xdebug.