-
Installer Xdebug (déjà fait)
-
Exécuter :
sudo editor /etc/php5/conf.d/xdebug.ini
:xdebug.remote_enable=true xdebug.remote_mode="req" xdebug.remote_connect_back=1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.collect_params=2 xdebug.remote_log=/var/log/xdebug.log
-
Exécuter
sudo editor /etc/nginx/nginx.conf
:http { ... set_real_ip_from 127.0.0.1; real_ip_header X-Forwarded-For; ...
-
Exécuter
sudo service php5-fpm reload && sudo service nginx reload
- Générer un bookmarklet : http://www.jetbrains.com/phpstorm/marklets/ :
- IDE key : PHPSTORM (la valeur n'est pas très importante, puisque en fonction de l'IDE, elle n'est pas prise en compte pour filtrer)
- Récupérer uniquement le bookmarklet "Debug this page" pour la présentation : il créé un cookie XDEBUG_SESSION, recharge la page puis supprime le cookie. Il est également possible de déclencher Xdebug avec un paramètre GET/POST : XDEBUG_SESSION_START=WHATEVER.
- Configuration de l'IDE :
- PHPSTORM : activer l'écoute de connexions de debug (icone "téléphone" en haut à droite)
- Eclipse PDT : écoute par défaut
- Sublime text 2/3 : Installer un gestionnaire de plugins si pas déjà fait : https://sublime.wbond.net/installation, puis installer https://sublime.wbond.net/packages/Xdebug%20Client. Menu > Tools > Xdebug > Start Debugging
- Déclarer un point d'arrêt dans le code
- Dans votre navigateur, allez sur un projet à debugguer (ex : http://www.evaneos.com.dev), cliquez sur le bookmarklet "Debug this page", votre IDE devrait réagir et s'arrêter sur votre point d'arrêt. La première fois, il faudra configurer le path mapping.
- Utilisation (en live)