Configurer XDebug avec Netbeans

Cet article a pour objectif de vous expliquer comment configurer XDebug sous Netbeans.

Pré-requis : Avoir installé Apache 2, Netbeans 7, Pear

La première étape consiste à installer XDebug.

Pour ce faire sous environnement unix:

sudo ./bin/pecl install -f xdebug

Ensuite, il convient de déclarer XDebug dans Apache pour que l'extension XDebug soit lancée:

Pour ce faire, éditez votre fichier php.ini et ajoutez y la déclaration de l'extension:

zend_extension=usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so

Vous pouvez aussi ajouter les paramètres de déclaration de xdebug pour initialiser certaines variables nécessaires à son fonctionnement :

[xdebug]
xdebug.remote_enable=1

xdebug.remote_host=localhost

xdebug.remote_port=9000

xdebug.remote_handler="dbgp"

xdebug.remote_log="/var/log/xdebug.log"

Une fois le fichier php.ini sauvegardé, relancez apache.

Sous Unix:

sudo /etc/init.d/apache restart

Sous Mac

sudo apachectl restart

Pour savoir si tout est opérationnel à ce stade, vous pouvez créer une page affichant la commande phpinfo().

Créez un fichier infos.php contenant le code suivante :

<?php

// Show all information, defaults to INFO_ALL
phpinfo();

?>

Le résultat attendu doit être le suivant :

Et plus loin dans la page, vous retrouverez la déclaration de xdebug suivante :

Ensuite,étape suivante, déclarer l'utilisation de XDebug dans Netbeans :

Nous utilisons une version de NetBeans 7.4.

Ouvrez les propriétés de votre projet PHP sous NetBeans, ctrl+click sur votre nom de projet.

Cliquez dans Categories, le lien "run configuration", puis éditez votre configuration de lancement de site avec :

Pour le champ "run as" : local web site

Pour le champ "Project url" : http://localhost/monsite

Un exemple de configuration pour un projet nommé "ebiobanques"

Ensuite, vous devez vérifier que les paramètres de XDebug sont corrects :

Cliquez sur le lien NetBeans> Preferences, puis saisissez dans la barre de rechercher xdebug.

Cela vous mène directement à l'onglet PHP Debugging qui inclus les paramètres xdebug.

Vérifiez que le port est le 9000, et le session ID "netbeans-xdebug", cela pemerttra de faire la correspondance avec les paramètres insrés plus tôt dans le php.ini.

Un exemple de configuration simple :

Enfin, relancer NetBeans pour que tous ces paramètres soient pris en compte.

Une fois NetBeans redémarré, vous pouvez lancer le site en mode Debug, pour ce faire, cliquez sur dans le menu Debug de NetBeans sur "Debug Project", cela va vous ouvir votre site avec comme url votre site avec les paramètres de démarrage de session xdebug :

Exemple d'url générée pour mon site : http://localhost/ebiobanques/?XDEBUG_SESSION_START=netbeans-xdebug

Et normalement, si tout est correct, sous NetBeans vous obtenez une fenêtre de ce type, avec les boutons de debug pour passer le spoinst d'arrêts et valider les traitements. L'indicateur en base de votre fenêtre "netbeans-xdebug : running" indique que la connexion est effective et que vous pouvez travailler avec.

C'est terminé, il ne vous reste plus qu'à coder le plus proprement possible :)

Excellents devs.