[DOCKER] J'étais accro au réglage de laradock + VSCode + xdebug

environnement

laradock Docker for Windows 2.0.0.3 (31259) VSCode 1.33.1 xdebug 2.7.2 php 7.2

réglages côté laradock

Configuré pour installer xdebug dans l'espace de travail et PHP (.env)

...
WORKSPACE_INSTALL_XDEBUG=true
...
PHP_FPM_INSTALL_XDEBUG=true
...

Modifiez les deux xdebug.ini comme ci-dessous (/php-fmp/xdebug.ini) (/workspace/xdebug.ini) xdebug.remote_host Dans le cas de Windows, cela fonctionnait avec l'hôte docker, mais dans le cas de mac, la configuration réseau de Docker est différente, il semble donc que cela ne fonctionnera pas à moins d'être défini différemment xdebug.remote_port Le 9000 par défaut peut être utilisé tant qu'il n'est pas utilisé par d'autres applications.

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

Si vous composez avec ceci, le côté laradock est ok

Paramètres côté VS Code

Installez l'extension PHP Debug

Créez le fichier suivant dans le projet laravel ouvert dans Vscode (/.vscode/launch.json) port est la valeur spécifiée dans xdebug.ini pathMappings est {racine du document distant}: {racine du document hôte}

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9002,
            "stopOnEntry": true,
            "pathMappings": {
                "/var/www": "${workspaceRoot}"
            }
        }
    ]
}

Paramètres du pare-feu

Vous devez configurer le pare-feu pour que VS Code puisse communiquer avec Xdebug dans Docker. Pour le moment, VS Code a été configuré pour permettre la communication sur un réseau privé. J'essaye xdebug dans le conteneur d'espace de travail de Docker, mais j'obtiens l'erreur suivante et je ne parviens pas à me connecter.

        I: Connecting to configured address/port: dockerhost:9002.

        E: Time-out connecting to client. :-(

Après avoir étudié diverses choses, le réseau sur lequel Docker fonctionne n'a pas été identifié (public), la communication a donc été bloquée par le pare-feu. Ainsi, VS Code peut désormais se connecter en lui permettant de communiquer sur des réseaux publics ou en considérant les réseaux non identifiés comme privés.

référence

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

J'étais accro au réglage de laradock + VSCode + xdebug
J'étais accro au paramètre API version min23 de registerTorchCallback
J'étais accro au record du modèle associé
L'histoire à laquelle j'étais accro lors de la création de STS
J'étais accro à la méthode du rouleau
J'étais accro au test Spring-Batch
Notez que j'étais accro aux paramètres du projet Android d'IntelliJ IDEA
Enregistré parce que j'étais accro à l'entrée standard de la classe Scanner
[Circle CI] J'étais accro au test automatique de Circle CI (rails + mysql) [Memo]
Une histoire à laquelle j'étais accro à deux reprises avec le paramètre de démarrage automatique de Tomcat 8 sur CentOS 8
J'étais accro au démarrage de sbt
Ce à quoi j'étais accro lors de l'introduction de la bibliothèque JNI
J'étais accro à la configuration de default_url_options avec l'introduction de la conception de Rails
J'étais accro à la mise à jour de la déclaration dans MyBatis
Ce à quoi j'étais accro avec l'API REST Redmine
J'ai essayé de créer un environnement de WSL2 + Docker + VSCode
La partie à laquelle j'étais accro dans "Introduction à Ajax dans les applications Web Java" de NetBeans
À propos de la question pour laquelle j'étais accro à l'utilisation de hashmap
J'étais accro à la réécriture sur @ SpringApplicationConfiguration-> @SpringBootTest
Un mémo sobrement accro à la demande de multipart / form-data
Mémorandum: Ce à quoi j'étais accro quand j'ai frappé l'API de comptabilité freee
[Rails] J'étais accro aux paramètres nginx lors de l'utilisation d'Action Cable.
Une histoire à laquelle j'étais accro lors du test de l'API à l'aide de MockMVC
J'étais accro à un simple test de Jedis (bibliothèque Java-> Redis)
Problèmes auxquels j'étais accro lors de la création de l'environnement digdag avec docker
J'étais accro au scrollview car je ne pouvais pas appuyer sur la taille variable UIView
J'étais accro aux tests unitaires avec l'opérateur de tampon dans RxJava
J'étais accro à l'utilisation de RXTX avec Sierra
Je veux var_dump le contenu de l'intention
J'étais accro à ne pas pouvoir me connecter à AWS-S3 à partir du conteneur Docker
J'étais un peu accro à la comparaison S3 Checksum, alors prenez note.
J'ai été englouti par l'obscurité de Romaji essayant de convertir mon nom en Romaji
J'ai essayé de réduire la capacité de Spring Boot
Je souhaite afficher le nom de l'affiche du commentaire
J'étais accro à getXxxx de ResultSet car c'est un type primitif (Java)
[Android] Comment obtenir la langue de réglage du terminal
Je veux retourner la position de défilement de UITableView!
Ce que j'ai corrigé lors de la mise à jour vers Spring Boot 1.5.12 ・ Ce à quoi j'étais accro
J'ai essayé de résumer les bases de kotlin et java
Ce à quoi j'étais accro en utilisant rspec sur des rails
Comment modifier la valeur de réglage de Springboot Hikari CP
J'ai brièvement résumé la grammaire de base de Ruby
J'étais étrangement accro à l'utilisation de l'API Stream de Java avec Scala
[Ruby] Je souhaite inverser l'ordre de la table de hachage
Une histoire dans laquelle j'étais accro à la conversion de type implicite d'ActiveRecord lors du test unitaire
Authentification 802.1X au réseau du paramètre de liaison dans CentOS7
Causes techniques et contre-mesures pour les points auxquels j'étais accro avec la première application Android et Kotlin
Je veux connaître la méthode du contrôleur où l'exception a été levée dans le ExceptionHandler de Spring Boot
[Circle CI] Une histoire à laquelle j'étais accro chez Start Building
J'ai essayé de résumer ce qui était demandé lors de l'édition site-java-
Je veux comprendre le flux des paramètres de demande de traitement Spring
J'ai essayé de créer un environnement de serveur UML Plant avec Docker