Не удается заставить Xdebug работать (mac + PhpStorm + Laradock + Xdebug) - PullRequest
1 голос
/ 12 апреля 2019

Мне нужно отладить код в моей локальной среде. Точнее говоря, это Laradock в моем Mac.Но я пробовал это много раз и не смог.

Mac version MoJave 10.14.2
Docker version 18.09.0, build 4d60db4
Docker-compose version 1.23.2, build 1110ad01
Laradock version(commit id) a03c225e279910b9393b5e95fbffe5081b9e5a95
PhpStorm version  2018.1.1 Build #PS-181.4445.72

Состояние Xdebug:

PHP 7.2.15 (cli) (built: Feb 21 2019 23:48:47) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.15, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.7.0, Copyright (c) 2002-2019, by Derick Rethans

phpinfo: xdebug info in phpinfo web page

workspace / xdebug.ini: workspace/xdebug.ini

php-fpm / xdebug.ini: php-fpm/xdebug.ini

docker-composer ps: docker-composer ps

Настройка Xdebug в PhpStorm: xdebug in PhpStorm setting

Настройка службы в PhpStorm: service setting in PhpStorm

Настройка удаленной отладки в PhpStorm: remote debug setting in PhpStorm

Настройка веб-страницы PHP в PhpStorm: php web page setting in PhpStorm

Все вышеперечисленноемои данные конфигурации.

Давайте посмотрим на информацию о порте

➜  laradock git:(master) lsof -i:9001


Запущено прослушивание PHP Отладочные соединения

➜  laradock git:(master) lsof -i:9001
COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
phpstorm 268 lightWay   56u  IPv4 0xa71f266f59200b2d      0t0  TCP *:etlservicemgr (LISTEN)

Когда я набираю URL инажмите клавишу Enter, окно перейдет к PhpStorm

PhpStorm Вот так: phpstorm

Когда я нажму 'Step Over (F8)' ​​PhpStorm Вот так: debug failed

Отладка не может быть продолжена, и Chrome находится в состоянии ожидания: chrome

Информация о порте:

➜  laradock git:(master) lsof -i:9001
COMMAND   PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
phpstorm  268 lightWay   56u  IPv4 0xa71f266f59200b2d      0t0  TCP *:etlservicemgr (LISTEN)
phpstorm  268 lightWay   71u  IPv4 0xa71f266f59f45e2d      0t0  TCP localhost:etlservicemgr->localhost:51955 (CLOSE_WAIT)
phpstorm  268 lightWay   73u  IPv4 0xa71f266f669227ad      0t0  TCP localhost:etlservicemgr->localhost:55017 (ESTABLISHED)
com.docke 648 lightWay   30u  IPv4 0xa71f266f592027ad      0t0  TCP localhost:55017->localhost:etlservicemgr (ESTABLISHED)

Если я закончу доступ в браузере, я получу:

debug failed

Информация о порте:

➜  laradock git:(master) lsof -i:9001
COMMAND   PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
phpstorm  268 lightWay   56u  IPv4 0xa71f266f59200b2d      0t0  TCP *:etlservicemgr (LISTEN)
phpstorm  268 lightWay   71u  IPv4 0xa71f266f59f45e2d      0t0  TCP localhost:etlservicemgr->localhost:51955 (CLOSE_WAIT)
phpstorm  268 lightWay   73u  IPv4 0xa71f266f669227ad      0t0  TCP localhost:etlservicemgr->localhost:55017 (ESTABLISHED)
com.docke 648 lightWay   30u  IPv4 0xa71f266f592027ad      0t0  TCP localhost:55017->localhost:etlservicemgr (ESTABLISHED)

Ничего не меняется, и Xdebug Connection не разрывается.

Но если я нажму "Stop index.php (F12)", мой запрос браузера закончится.

порт такой:

➜  laradock git:(master) lsof -i:9001
COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
phpstorm 268 lightWay   17u  IPv4 0xa71f266f68032e2d      0t0  TCP *:etlservicemgr (LISTEN)

Мне кажется, что PhpStorm не получил запрос от браузера или Xdebug.

Как мне заставить работать Xdebug?

О да, иногда я могу получить советы от PhpStorm tips

Но я уже настроил это в файле ./laradock/.env.

Любая помощь будет принята с благодарностью... Если мне нужно будет предоставить больше информации, я с радостью сделаю это.

...