2017-08-10 4 views
0

Je n'arrive pas à essayer de faire fonctionner Xdebug dans PhpStorm avec Docker.PhpStorm avec Docker + xdebug ne s'arrête pas sur le point d'arrêt

Voici ma config xdebug:

zend_extension=xdebug.so 
xdebug.default_enable=1 
xdebug.remote_enable=1 
xdebug.remote_handler=dbgp 
xdebug.remote_port=9000 
xdebug.remote_autostart=1 
xdebug.remote_connect_back=1 
xdebug.idekey="PHPSTORM" 
xdebug.remote_host=192.168.0.27 

Mon docker-Compose:

version: '2.0' 

services:db: 

image: mysql:5.5 
container_name: mysql5 
volumes: 
    - "/home/xxx/docker_projects/mysql55_storage:/var/lib/mysql" 

ports: 
    - "3355:3306" 
restart: always 
environment: 
    MYSQL_ROOT_PASSWORD: pass 


php510: 

build: /home/xxx/docker_projects/php510 
container_name: php510 

ports: 
    - "5510:80" 
volumes: 
    - "/home/xxx/www/docker_stuff/hrm32:/app" 
    - "/home/xxx/docker_projects/xdebug:/etc/php5/fpm/conf.d/20-xdebug.ini" 

depends_on: 
    - db 

links: 
    - db 

restart: always 


phpmyadmin: 
depends_on: 
    - db 
image: phpmyadmin/phpmyadmin:latest 
container_name: phpmyadmin2 
links: 
    - db 
ports: 

J'ai configuré mon PhpStorm comme suit:

PhpStorm xdebug setting

configuration de débogage à distance:

Remote config

Quand je commence à déboguer, je ne vois que « En attente de connexion entrante avec la touche ide 'de PHPStorm » et notant! Quoi d'autre dois-je configurer? Je suis en PhpStorm 2017,2 sur Ubuntu 16.04

Xdebug journal:

<- breakpoint_set -i 20 -t line -f file:///app/application/modules/default/forms/employee.php -n 519 
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="20" id="1240039"></response> 

<- stack_get -i 21 
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="21"><stack where="{main}" level="0" type="file" filename="file:///app/index.php" lineno="21"></stack></response> 

<- run -i 22 
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="22" status="stopping" reason="ok"></response> 
+0

Qu'est-ce que xdebug a à dire à ce sujet? – LazyOne

+0

@LazyOne Selon le journal, il semble être en cours d'exécution mais il ne s'arrête pas au point d'arrêt. Voici la sortie de mon journal de xdeug: – ojoma

+0

C'est très déroutant alors: vous ne pouvez pas voir ce message "Waiting ..." dans PhpStorm et avoir un journal xdebug où il définit réellement le point d'arrêt. Une fois que IDE a reçu la connexion de débogage, il ne montrera pas ce message "en attente". Si c'est une exécution propre (pas d'un autre conteneur ou quoi que ce soit d'autre) - collecter le journal supplémentaire du côté IDE alors - il devrait dire ce qui se passe du point IDE: https://intellij-support.jetbrains.com/hc/en -us/articles/207241115-Comment collecter-PhpStorm-WebStorm-debug-Logs – LazyOne

Répondre

0

Pour tout un ayant des problèmes similaires, le lien suivant Xdebug with phpstorm and Docker vous aider à configurer xdebug avec PHPStorm. Je devais changer: xdebug.remote_connect_back=0 à xdebug.remote_connect_back=1. xdebug.remote_host=??? est l'ip de votre machine hôte.

Si la configuration est correcte, vérifiez qu'un seul IDE est configuré pour utiliser xdebug pour l'application par instance. J'ai remarqué que c'était la cause de mes problèmes. Je l'ai simulé plusieurs fois maintenant et c'est le même résultat.