Хотя Xdebug с VSCode долгое время работал нормально, внезапно стало невозможно отлаживать PHP-скрипт в VSCode.
phpinfo() шоу
ZendEngine v4.2.12 с Xdebug v3.3.2.
php.ini:
[xdebug]
zend_extension=xdebug
xdebug.mode=debug,develop
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.idekey = VSCODE
zend_extension = C:\xampp\php\ext\php_xdebug.dll
VSCode запускает расширение php_debug v1.34.0.
запуск.json:
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
},
и settings.json:
"explorer.confirmDragAndDrop": false,
"workbench.editor.splitInGroupLayout": "vertical",
"php.validate.executablePath": "c:/xampp/php/php.exe",
"php.debug.executablePath": "c:/xampp/php/php.exe",
"editor.tabSize": 2,
"[python]": {
Есть ли у кого-нибудь идеи, что не так?
4) Включите журнал Xdebug (xdebug.log=PATH_TO_LOG_FILE) и попробуйте выполнить отладку (перед этим перезапустите веб-сервер / убедитесь, что используется опция журнала). Затем проверьте, что скажет журнал — если он вообще попытается подключиться, и если да, то где и каков будет ответ.






XDebug снова работает. Проблема заключалась в жесткой ссылке из исходного каталога установки в другое место. Вставив раздел pathMapping в файл launch.json, ошибка исправлена:
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"c:/xampp/htdocs/xyz": "${workspaceFolder}"
}
}
]
1) Прежде всего - проверьте, что скажет
php -v, если вы запустите его в терминале (9 запустите его из папки, где находится ваш исполняемый файл PHP). Возможно, отображаются некоторые ошибки. 2) У вас естьzend_extension=xdebugиzend_extension = C:\xampp\php\ext\php_xdebug.dll— возможно, это вызывает проблемы. 3) Если там все хорошо - создайте простой.phpфайл и вызовитеxdebug_info();туда - это похоже наphpinfo();, но с настройками, специфичными только для Xdebug, и с некоторой базовой информацией по устранению неполадок. Опубликуйте его скриншот (сделайте это так же, как вы пытаетесь отладить - через CLI или веб-страницу.