laradock Docker for Windows 2.0.0.3 (31259) VSCode 1.33.1 xdebug 2.7.2 php 7.2
Stellen Sie ein, dass xdebug im Arbeitsbereich und in PHP (.env) installiert werden soll.
...
WORKSPACE_INSTALL_XDEBUG=true
...
PHP_FPM_INSTALL_XDEBUG=true
...
Ändern Sie die beiden xdebug.ini wie folgt (/php-fmp/xdebug.ini) (/workspace/xdebug.ini) xdebug.remote_host Bei Windows funktionierte es mit dem Docker-Host, bei Mac ist die Netzwerkkonfiguration von Docker jedoch unterschiedlich, sodass es anscheinend nicht mit unterschiedlichen Einstellungen funktioniert xdebug.remote_port Der Standardwert 9000 kann verwendet werden, solange er nicht von anderen Apps verwendet wird.
xdebug.remote_host=dockerhost
xdebug.remote_connect_back=0
xdebug.remote_port=9002
...
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.cli_color=1
Wenn Sie damit Docker-komponieren, ist die Laradock-Seite in Ordnung
Installieren Sie die Erweiterung PHP Debug
Erstellen Sie die folgende Datei in dem in Vscode geöffneten Laravel-Projekt (/.vscode/launch.json). port ist der in xdebug.ini angegebene Wert pathMappings ist {Remote-Dokumentstamm}: {Host-Dokumentstamm}
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9002,
"stopOnEntry": true,
"pathMappings": {
"/var/www": "${workspaceRoot}"
}
}
]
}
Sie müssen die Firewall so konfigurieren, dass VS Code mit Xdebug in Docker kommunizieren kann. VS Code wurde vorerst so eingestellt, dass die Kommunikation über ein privates Netzwerk möglich ist. Ich versuche xdebug im Docker-Arbeitsbereichscontainer, erhalte jedoch die folgende Fehlermeldung und kann keine Verbindung herstellen.
I: Connecting to configured address/port: dockerhost:9002.
E: Time-out connecting to client. :-(
Nach der Untersuchung verschiedener Dinge wurde das Netzwerk, in dem Docker ausgeführt wird, nicht identifiziert (öffentlich), sodass die Kommunikation von der Firewall blockiert wurde. VS Code kann jetzt eine Verbindung herstellen, indem er die Kommunikation über öffentliche Netzwerke ermöglicht oder nicht identifizierte Netzwerke als privat betrachtet.
https://qiita.com/hiro-tarosuke/items/adcc382ca98dfb89401b https://qiita.com/ditflame/items/bf4b5f412bf607c5c6d2#%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%8C%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84
Recommended Posts