Eclipse et PHP-XDebug

Cette documentation est basée sur une installation d'Eclipse PDT (Simplement téléchargée, décompressée et utilisée telle quelle). Cependant je ne vois pas pourquoi cela ne s'appliquerait pas à d'autres.

Vous avez installé Eclipse pour faire de développement PHP, mais qu'en est-il du débug ?
Bien entendu, passer par les fonction var_dump(), echo print etc. est une solution, mais il est toujours plus interessant d'avoir plus d'informations et de pouvoir utiliser des points d'arrêts/pause dans l'exécution du script pour surveiller ses variables et voir si le résultat est celui attendu avant la fin du script.

Xdebug est une extension PHP très pratique, écrite par l'un des développeurs de PHP, Derick Rethans.
La version actuelle est la 2.0.3, mais pour le moment, pour faire au plus court, je vais simplement parler de l'installation la version fournie par les Dépôts d'Hardy, la 2.0.2.

Bien entendu la version Xdebug peut aussi s'installer en téléchargeant les binaires du site, en compilant les sources ou via PECL. Pour les anglophones qui préfèrent installer la dernière version, je vous invite à consulter les liens en bas de page ;-)

Pré-requis

Installation

Il vous suffit, pour cela, d'installer les paquets php5-xdebug php5.

Configuration

Tout d'abord, éditez le fichier /etc/php5/apache2/conf.d/20-xdebug.ini vous devez y trouver la ligne suivante :

zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so

Ajoutez les lignes <Pourquoi faire? FIXME >:

xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

Relancez le serveur apache

sudo /etc/init.d/apache2 restart

Pour vérifiez l'installation, créez une page test.php contenant ces lignes :

<?php
phpinfo();
?>

puis ouvrez cette page (ex. : http://127.0.0.1/test.php), vous devriez obtenir ceci :

et un peu plus bas (extrait) :

FIXME Seul le protocole DBGp est demandé par le fichier de config joint!!!

Configurer Eclipse

Par défaut il manque le plugin PHP : PDT Aller dans le menu Help/Install new software… Collez dans "work with" l'URL suivante : http://download.eclipse.org/tools/pdt/updates/3.0/milestones/ puis on clique sur Add… Cliquez sur OK sur la fenêtre popup "Add Repository" sans indiquer de Name. Cochez le module de PDT. Cliquez sur Finish en bas de la fenêtre. Le téléchargement et l'installation se déroule pendant quelques minutes. Relancez Eclipse pour prendre en compte la modification. ;-)

XDebug

Lancez Eclipse, puis dans le menu "Window → Preferences".

Sélectionnez PHP → Debug, vous obtenez ceci par défaut.

Cliquez sur le lien "PHP Executables", dans la nouvelle fenêtre cliquez sur le bouton "Add", et renseignez comme ceci :

Pour valider le chemin vers l'exécutable php (ou tout autre exécutable), utilisez la commande suivante dans un terminal "which php".

et validez.

Revenez sur la section Debug pour compléter les informations comme ci-dessous :

Firefox

Je pense que ce paramétrage n'est pas requis si Firefox est le navigateur par défaut, mais on va tout de même s'y intéresser car cela peut aussi être valable pour utiliser d'autres navigateurs pour le debug.

Allez dans le menu "Window → Preferences", déployez la section "General" et sélectionnez "Web Browser", vous arrivez ici :

Cliquez sur le bouton "New" et ajoutez les informations suivantes :

Validez et paramétrez ensuite comme ci-dessous :

Utilisation

Allez dans le menu "Run", et vous obtiendrez des sous-menus spécifiques comme ci-dessous

Si tel n'est pas le cas, il faut revoir les paramètres de votre projet, mais à l'heure actuelle, je ne m'en souviens plus trop :-? ayant fait cette manipulation il y a pas mal de temps… donc si une autre personne avant moi veut bien compléter : FIXME ;-)

Voir aussi

  • eclipse_php_xdebug.txt
  • Dernière modification: Le 28/04/2018, 11:14
  • (modification externe)