В итоге я заставил его работать, следуя этому видео: https://www.youtube.com/watch?v=a14kN2u5nEk от Lyall van der Linde.Среди других ошибок я не должен был настраивать и службу, и расширение на один и тот же порт.
Небольшая странность на данный момент заключается в том, насколько я могу судить, что у XDebug в настоящее время нет выпуска дляPHP 32-битная версия 7.3.1, поэтому я установил старую версию XAMPP (7.2.14).Старые версии установщика Windows доступны по адресу https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/. Я установил самую последнюю версию кода Visual Studio.Я добавил расширение PHP Debug в код Visual Studio и перезагрузил приложение.
Поскольку IIS использует порт 80, я открыл панель управления XAMPP и перешел к главному уровню конфигурации, затем к настройкам службы и порта и установилна вкладке apache имя службы Apahce2.4 для основного порта 8080 и SSL-порта 443. Я отредактировал C: \ xampp \ apache \ conf \ httpd.conf и заменил «Listen 80» на «Listen 8080».Затем я запустил службу apache на панели управления XAMPP.
Затем я добавил папку «phptest» в C: \ xampp \ htdocs \ и открыл указанную папку в VSCode.Добавлен файл test.php и добавлены строки:
<?php
$a = 6;
$b = 3;
$c = 0;
$c = $a * $b;
echo $c;
Я обновил пользовательские настройки VSCode следующим образом
{
"php.validate.enable": true,
"php.validate.executablePath": "C:\\xampp\\php\\php.exe",
"php.validate.run": "onType"
}
Я открыл вывод http://localhost:8080/phptest/test.php как «18».
Я открыл http://localhost:8080/dashboard/phpinfo.php,, скопировал текст этой страницы и вставил результаты в форму ввода в https://xdebug.org/wizard.php. Это побудило меня скачать правильную dll для XDebug (php_xdebug-2.6.1-7.2-vc15.dll для меня).Затем я отредактировал C: \ xampp \ php \ php.ini и добавил в конец файла:
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
zend_extension = C:\xampp\php\ext\php_xdebug-2.6.1-7.2-vc15.dll
Из-за изменения php.ini мне нужно было остановить и перезапустить службу Apache вПанель управления XAMPP.Затем я выбрал «Debug» в левой части кода Visual Studio и добавил конфигурацию PHP «Listen for XDebug» и использовал стандартный запуск. Json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
Я добавил точку останова в test.php и запустилотладка в коде Visual Studio.В моем браузере я перешел на localhost: 8080 / phptest / test.php, и моя точка останова была достигнута в коде Visual Studio, что позволило мне просмотреть значения переменных и пройти по коду.