Я использую VSCode и Docker.После некоторых исследований я реализовал следующие шаги:
- Установка и настройка Xdebug на Docker (также файл журнала Xdebug)
- Установка расширения Xdebug для VSCode
- Изменение конфигурации при запуске.json
Теперь, если я открою простой скрипт "test.php" в браузере, отладчик не остановится на моей точке останова, кроме этого, я установил флаг разрыва при запуске, и это также было проигнорировано.Кто-нибудь намекнул на меня?
Мой файл launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"stopOnEntry": true,
"port": 9000,
"pathMappings": {
"/var/www/html": "/Users/MYUSERNAME/calc/"
},
"log": true
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"stopOnEntry": true,
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
Xdebug.log
[7] Log opened at 2019-03-15 16:32:32
[7] I: Checking remote connect back address.
[7] I: Checking header 'HTTP_X_FORWARDED_FOR'.
[7] I: Checking header 'REMOTE_ADDR'.
[7] I: Remote address found, connecting to MYIP:9000.
[7] I: Connected to client. :-)
[7] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/web/index.php" language="PHP" xdebug:language_version="7.0.27" protocol_version="1.0" appid="7" idekey="www-data"><engine version="2.7.0"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2019 by Derick Rethans]]></copyright></init>
[7]
[7] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
[7]
[7] Log closed at 2019-03-15 16:32:33
Запустить форму ответа vscode
Response {
seq: 0,
type: 'response',
request_seq: 2,
command: 'launch',
success: true }
Порт 9000, используемый php-fpm, теперь я использую порт 9001, но журнал xdebug показывает не удачное подключение к клиенту
[7] Log opened at 2019-03-15 17:26:20
[7] I: Checking remote connect back address.
[7] I: Checking header 'HTTP_X_FORWARDED_FOR'.
[7] I: Checking header 'REMOTE_ADDR'.
[7] I: Remote address found, connecting to MYIP:9001.
[7] W: Creating socket for 'MYIP:9001', poll success, but error: Operation now in progress (29).
[7] E: Could not connect to client. :-(
[7] Log closed at 2019-03-15 17:26:20
[7]
Также я изменил порт в launch.json в vscode.Кстати, я установил все на Mac.
Теперь я решаю свою проблему.Я отключаю "remote_connect_back" и устанавливаю свой локальный ip на "remote_host".Теперь это работает.