Linux-Entwickler können sich unter Windows eine vertraute Umgebung zum produktiven Arbeiten einrichten. Tim Anderson berichtet auf seinem Blog wie er PHP für die Entwicklung unter WSL für Linux in Windows 10 einrichtet und das PHP-Debugging darüber laufen lässt.
Bereit für XDebug
Zunächst hat er in Ubuntu eine Linux-Distribution aus dem Store heruntergeladen und WSL in Windows aktiviert. Dann beschreibt er, wie Änderungen im PHP-Code unter Windows vorgenommen werden können und die Ergebnisse dann direkt im Browser sichtbar werden. Außerdem zeigt er, wie mit Visual Studio Code und der PHP Debug Extension das Debuggen von Zeile zu Zeile funktioniert.
Die Vorgehensweise: Nach der Installation in Ubuntu mit dem Kommando apt-get install php-xdebug
wird Apache neu gestartet. Daraufhin muss überprüft werden, ob phpinfo.php anschließend einen Xdebug-Abschnitt anzeigt. Nun muss php.ini bearbeitet und dazu Folgendes hinzugefügt werden:
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
Apache muss anschließend erneut gestartet werden und XDebug ist dann bereit.
Debugger im Visual Studio Code einrichten
In Visual Studio Code ist etwas mehr Arbeit zu erledigen. Das Problem ist, dass, obwohl alles auf dem lokalen System läuft, der Speicherort der Dateien anders aussieht als auf Linux. In der pathMapping lässt sich dieses Problem beheben. Dazu muss in Visual Studio Code die PHP-Datei geöffnet werden, die debuggt werden soll. Nun auf das Fehlersymbol und dann auf das kleine Zahnrad oben links klicken, um launch.json zu öffnen.
Zu den standardmäßigen XDebug-Einstellungen muss eine Pfadzuordnung hinzugefügt werden, damit der Debugger weiß, wo die Dateien zu finden sind. Beispielsweise:

Quelle: Tim Anderson´s IT Writing-Blog
Jetzt kann ein Haltepunkt gesetzt werden, das Debuggen gestartet und die Seite im Browser geöffnet werden:

Quelle: Tim Anderson´s IT Writing-Blog
Weitere Hinweise zur PHP-Debug-Erweiterung sind auf der PHP Debug Site von Visual Studio zu finden. Die WSL-Lösung lässt sich wie gesehen auch für das PHP-Debuggen nutzen und bildet damit eine Alternative zur VM mit Linux und PHP.