-
Notifications
You must be signed in to change notification settings - Fork 5
HowTo xdebug
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 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.
Note : Les manipulations suivantes doivent être faites dans la VM
- On installe simplement le module xdebug avec apt :
sudo aptitude install php5-xdebug
Quelques liens pour en savoir plus sur xdebug sont donnés dans ce paragraphe.
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. Le principe est expliqué grossièrement dans ce paragraphe.
-
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
