Configuration de XDebug sous une VM VirtualBox

Suite à la création de mon environnement de développement LAMP sous VirtualBox, j’ai voulu installer XDebug pour une utilisation avec NetBeans se trouvant côté Mac, voici comment procéder.

Globalement ces explications valent pour toute personne souhaitant déboguer du PHP sur un serveur distant.

Pour rappel j’utilise :
Ubuntu 12.04 LTS
Apache 2.4
PHP 5.4 en module d’Apache

Xdebug-logo

Premièrement nous allons installer XDebug via pecl :

Une installation de XDebug réussie !

Une installation de XDebug réussie !

Ensuite nous allons éditer le fichier php.ini en y ajoutant la section suivante :

L’option xdebug.remote_connect_back sert à indiquer que XDebug doit envoyer ses informations de debug à l’adresse IP qui a envoyé la requête HTTP (protocole DBGp, port 9000 par défaut comme sous NetBeans).

Attention à bien écrire zend_extension = et non extension =, la différence est que XDebug vient affecter le comportement de PHP et pas simplement ajouter des fonctionnalités.

Vous pourrez ensuite lancer une session de debug depuis NetBeans mais ce dernier ne verra pas les sources (ces dernières se trouvant sur une autre machine).

Pour chacun de vos projet il faudra donc faire un clic droit sur leur nom puis Set Configuration > Customize…
Cliquez ensuite sur le bouton Advanced en bas à droite, et éditer le path mapping du projet, pour ma part :
Server Path : /var/www
Project Path : /Users/romain/www

Path Mapping sous NetBeans

Path Mapping sous NetBeans

Et voilà !

Un joli debug de Zend Framework 2 sous NetBeans

Un joli debug de Zend Framework 2 sous NetBeans

3 réflexions au sujet de « Configuration de XDebug sous une VM VirtualBox »

  1. Etienne

    Bonjour,

    Je viens de passer de Netbeans 7.3 sous Windows à Netbeans 8.0 sous mac, et je ne parviens pas à trouver l’endroit où éditer le path mapping (Le « Set Configuration > Customize » n’est plus visible). Merci par avance pour votre aide.

    Cdlt.

    Répondre
  2. Etienne

    Bonjour,

    J’ai trouvé une solution de contournement de ce problème. Bizarrement, sur NB version mac 7.4 et 8.0 au moins (je n’ai pas testé les autres versions), le bouton ‘Advanced’ permettant de définir le path mapping n’est pas affiché dans le volet « Run configuration » lorsque l’option « Run as Remote web site (FTP, SFTP) » est sélectionnée.
    En revanche, elle est présente si « Run as Local web site » est choisie => si on configure alors un path mapping, et qu’on reselectionne ensuite « Run as Remote web site (FTP, SFTP) », ce path mapping est conservé, ce qui permet de réaliser le debug à distance.

    Cdlt.

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *