Vielen Dank.
Folgendes funktioniert jetzt bei mir:
- Docker als VM via Hyper-V (Windows 10 Pro) oder über "WSL 2"
- devilbox v.1.9.2 mit Apache 2.4.46, PHP 7.4.20 und mariadb 10.3.5
- VSCode mit einer lokalen Installation der "PHP-Debug" VSCode Erweiterung
In der devilbox, entsprechend der konfigurierten PHP Version, die php.ini überschreiben:
In z.B: "/devilbox/cfg/php-ini-7.4" mit folgender "xdebug.ini"
Code:
; PHP.ini configuration
;
[PHP]
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.remote_handler = dbgp
xdebug.remote_port = 9000
xdebug.remote_connect_back = 0
xdebug.client_host = 172.x.x.x
xdebug.idekey = VSCODE
xdebug.remote_log = /var/log/php/xdebug.log
Update/Hinweis:
wobei dann "xdebug.client_host" der IP Adresse
Mit Docker via WSL 2:
aus "vEthernet (WSL)" entsprechen sollte (s.a.: ipconfig).
Mit Docker via VM (Windows 10 Pro / Hyper-V):
aus "vEthernet (Default Switch)" entsprechen sollte (s.a.: ipconfig).
Anschließend die devilbox neu starten.
Im devilbox Dashboard unter "Info/PHP Xdebug Info" kann man die aktuelle Konfiguration einsehen-
In VSCode dann die Erweiterung PHP-Debug installieren mit folgender ".vscode/launch.json":
Code:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9000,
"pathMappings": {"/shared/httpd/phpdemo/web": "${workspaceRoot}/web"}
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
wobei in "pathMappings" dann der jeweilige devilbox vhost angegeben wird - Hier z.B. "phpdemo".
Innerhalb des Verzeichnisses "phpdemo" dann mit Eingabe von "code ." VSCode starten.
Hinweis:
Innerhalb VSCode klappt dann der Xdebug Aufruf via "Listen for Xdebug".
Das CLI debugging via "Launch currently open script" klappt hier nicht,
da beim remote debugging der PHP Pfad im Docker container nicht angesprochen werden kann. Könnte man daher in der launch.json auch vernachlässigen.
see: https://github.com/xdebug/vscode-php...host-debugging
Lesezeichen