WIndows – WSL2 – xDebug setup

W

Momenteel (oktober 2021) is het nogal omslachtig om vanuit een WSL2 Ubuntu omgeving goed te verbinden naar een service die draait onder Windows 10. Helaas werkt de localhost verwijzing niet. Het minst omslachtig is om in Ubuntu gebruik te maken van het lokale netwerk adres van Windows 10. Tussen de Windows 10 omgeving en de daarbovenop draaiende WSL2 Ubuntu omgeving wordt namelijk een lokaal netwerk opgezet, dat standaard alleen bestaat binnen de computer en niet vanaf buiten beschikbaar is.

Reden dat ik hier tegenaan liep was de installatie van PHP Xdebug draaiende onder Ubuntu, die moet verbinden naar de Xdebug server die draait in de phpStorm editor onder Windows 10. Die is niet bereikbaar op localhost / 127.0.0.1, poort 9000. Dat zou je wel verwachten als de MariaDB en de Redis server die draaien op Ubuntu wel gewoon bereikbaar zijn vanuit Windows op respectievelijk 127.0.0.1:3306 en 127.0.0.1:6376.

Voorbeeld van de xdebug php.ini settings bij een Apache2 server die draait onder een WSL2 omgeving, en phpStorm / xdebug server onder Windows 10:

[xdebug]
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.profiler_enable=1
xdebug.remote_host=172.22.176.1
xdebug.remote_port="9000"
xdebug.idekey=PHPSTORM

Het IP adres is het lokale netwerk adres van Windows 10. Dit kan je opvragen met het onderstaande commando. Het juiste adres staat onder het kopje Ethernet adapter vEthernet (WSL), achter IPv4 Address. Dat IP adres lijkt statisch te zijn.

C:\>ipconfig

Windows IP Configuration


Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter vEthernet (WSL):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::3d91:c4d7:32f7:18e9
   IPv4 Address. . . . . . . . . . . : 172.22.176.1
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . :

About the author

Add Comment

By Marc