J'ai eu pendant longtemps des problèmes pour faire fonctionner XDEBUG avec ECLIPSE en remote debugging. Celà se manifestait par exemple avec ECLIPSE qui reste sur "Launching website.com 48% ou 57%" et aucun break ne fonctionnait.

Installation xdebug sur le serveur distant:

apt-get install php-xdebug

Modifier la config /etc/php/cgi/conf.d/20-xdebug.ini (emplacement visible dans phpinfo) :


# cat /etc/php5/cgi/conf.d/20-xdebug.ini
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000

Paramétrage Eclipse sur la machine locale:

Dans le menu Eclipse windows > préférences > PHP > Debug > Installed debugger > Xdebug

Donner le port 9000 qu'on a défini sur le serveur distant.

 

Si à ce stade votre conexion marche de manière instable ou pas du tout

  • Vérifier vos parefeus côté client et serveur ne bloquent pas le port 9000
  • Vérifier le port mapping de votre routeur

si vous vous connectez à INTERNET via un routeur type FREEBOX ou XBOX vérifiez que les connexions sur le port 9000 sont bien transmises vers votre poste client
En effet, pour XDEBUG, il faut généralement ouvrir le port 9000 sur ce routeur et le faire suivre sur votre PC où tourne l'IDE. Sur un routeur VODAFONE, par exemple, cela peut ressembler à ceci:
port mapping vodafone

 

  • Utiilisez des adresses IP statiques

Mais si votre routeur est programmé pour attribuer des IP dynamiques par DHCP, il se peut qu'un jour votre téléphone mobile se voit attribuer l'IP 192.168.155 qu'avait votre PC lorsque vous avez configuré XDEBUG.
La solution est de forcer une ip statique lors la connexion de votre PC à votre routeur.
Sous Debian 9, avec NETWORK MANAGER cela peut se réaliser ainsi:

click droit sur l’icone wifi du tableau de bord

Configurer les connexions réseau > Définir une IP FIXE dans l’onglet IPV4

  • Faire passer votre connexion sur le port Xdebug via un tunnel SSH

Un autre renforcement de la connexion est d'établir une connexion SSH sur le port XDEBUG avant de lancer Xdebug Eclipse:

ssh -R 9000:localhost:9000 userThis email address is being protected from spambots. You need JavaScript enabled to view it.