Skip to content

HowTo xdebug

Ben edited this page Feb 27, 2017 · 73 revisions

L'installation de l'environnement de développement complet

Disclaimer : ❗ Cette configuration ne doit pas être exposée sur internet ❗
Elle pose des problèmes de sécurité évidents. On installe ici cette architecture dans une VM qui n'est accessible QUE depuis le système hôte

On va installer tout le nécessaire pour créer un projet PHP qui sera hébergé plus tard sur le nom de domaine http://www.example.com. Prenons ce nom de domaine "éducatif" pour illustrer notre HowTo :

  • c'est un domaine réservé à des démonstrations, qui ne peut pas être acheté
  • ce nom de domaine pointe vers un hébergement réel quelque part dans le monde
  • lorsque les crawlers visiteront ce howto, ils ne tomberont pas sur un domaine qui appartient à quelqu'un au hasard ; on ne participera pas au pagerank d'inconnus...

Sur notre machine locale, on va simuler le contrôle du domaine example.com , qui en réalité (du point de vue de notre machine locale) pointera vers notre VM. Pour tous les autres gens sur la planète, le domaine example.com pointera toujours vers l'hébergement réel du domaine.

Installation du paquet php5-xdebug dans la VM

Note : Les manipulations suivantes doivent être faites dans la VM On installe simplement le module xdebug avec apt :

sudo aptitude install php5-xdebug

On a besoin de configurer le module pour permettre du débug à distance ; en effet, les sources php testées se trouvent physiquement dans la VM. Le serveur web apache de la VM va devoir communiquer avec notre éditeur de texte local pour permettre le pas à pas. Il faut ajouter des lignes au fichier /etc/php5/apache2/conf.d/20-xdebug.ini , pour qu'il ressemble à ça :

zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1    # Not safe for production servers
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true    # Not safe for production servers
xdebug.idekey=xdebug.atom

Puis on redémarre apache pour qu'il charge php avec notre module xdebug configuré :

sudo service apache2 restart

On pourrait examiner un phpinfo() pour retrouver les détails de la configuration de notre module xdebug Capture phpinfo avec xdebug

Installation des outils locaux

Plugin atom remote-sync

Configuration

Plugin atom php-debug

Configuration

Création du VHOST dans le apache de la VM

Tout brancher ensemble

Enjoy :)

Clone this wiki locally