Comme j'ai eu du mal à trouver comment faire la configuration Eclispe PDT + xdebug + Proxy DBGP, voici la recette que j'ai appliquée :
1 -Installation de xdebug : pear install xdebug
Créér un fichier ini dans /etc/php5/apache/conf.d/ (debian etch) xdebug.ini avec le contenu suivant :
zend_extension="/usr/lib/php5/20060613+lfs/xdebug.so"
xdebug.remote_port = 9000
xdebug.remote_handler= dbgp
# ligne suivante si utilisé SANS DBGP proxy XXX.XXX.XXX.XXX est l'IP de la PDT workstation
# ligne suivante si utilisé AVEC DBGP proxy ou XXX.XXX.XXX.XXX est la webserver IP
xdebug.remote_host= XXX.XXX.XXX.XXX
xdebug.remote_enable = On
xdebug.profiler_enable = On
xdebug.profiler_output_name = "cachegrind.out.%t"
xdebug.profiler_output_dir = "/home/www/_xdebug"
Ou xdebug.remote_host doit etre l'IP webserver.
Recharger apache
2-Installation du proxy DBGP :
Installer python (si pas déjá fait) :
apt-get install python2.4-minimal python2.4
Download le proxy : http://community.activestate.com/kom...kage-downloads
Puis untar l'archive dans un repertoire de votre choix :
Par exemple /usr/dbgp/
CD in bin directory
Lancer le proxy ainsi :
./pydbgpproxy -i XXX.XXX.XXX.XXX:9001 -d YYY. YYY. YYY. YYY:9000
Ou -i XXX.XXX.XXX.XXX:9001 est l'IP du webserver et 9001 le port sur lequel le proxy écoutera les requetes lancées depuis PDT
et -d YYY. YYY. YYY. YYY:9000 est l'IP du webserver et 9000 e port sur lequel le proxy écoutera xdebug
3 -Config Eclipse PDT2 :
Dans PDT, menu Window -> preferences -> PHP and Debug, check Use proxy.
Une clé et générée.
- Configurer le PHP Serveur en faisant bien attention a correctement mapper les chemins.
- Créér une configuration de Debug : choisir PHP WEB page , sélectionner le Sever Debugger Xdebug, le Server PHP créé ci-dessus et le fichier d'entrée.
- Dans Window -> Browser, sélectionner Firefox
4- Lancer la Session de Debug:
Si la tache reste bloquée à 19%, alors PDT ne communique pas avec le proxy, revérifier toute la config !
5 - Une fois une session lancée avec succes, reste à ajouter un script de démarrage pour le proxy
Voilà,
En esperant que ça puisse rendre service
Philippe Faribault
Partager