Как отлаживать PHP-код в Visual Studio Code в сервисах XAMPP?
Сначала я включил XAMPP и запустил следующие службы:
Кстати, версия PHP 7.3.3. Затем я проверил phpinfo()
в браузере. Вот скриншот:
И я пошел xdebug.org чтобы загрузить эту версию Xdebug:
Когда я скопировал этот файл в C:xamppphpext
, я обнаружил, что есть файл с именем php_xdebug.dll
. Как бы то ни было, я все равно вызвал файл Xdebug в путь без его имя изменено (php_xdebug-2.7.2-7.3-vc15-x86_64.dll
).
Затем я скопировал фрагмент кода в php.ini
из статьи в Интернете:
zend_extension = "C:xamppphpextphp_xdebug-2.7.2-7.3-vc15-x86_64.dll"
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000
Но я не мог понять, почему порт был 9000, а порт вообще не работал. Я ввел localhost:9000
в адресную строку Chrome, и страница результатов показывает, что localhost отклонил мой запрос на подключение.
Однако я все равно продолжал. Я установил расширение "PHP Debug" в VS-коде. Расширение launch.json
показано ниже:
{
"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
}
]
}
Наконец, я создал новый PHP-файл и отладил его. Когда я открыл файл в браузере, программа отладки не работала. Итак, не могли бы вы, пожалуйста, сказать мне, в чем проблема, и показать мне точные шаги отладки?
Обновление: Наконец, я нашел, в чем проблема, номер порта 9000 занят! Поэтому я набрал "netstat -ano" в cmd и нашел порт 9000 и соответствующее значение PID. введите описание изображения здесь Затем введите "taskkill /PID 4380/F", чтобы завершить процесс, занимающий порт. Наконец, перезапустите службы PHP. Таким образом, этот вопрос был решен. Но помните, убедитесь, что вы установили правильную версию xdebug, которую вы можете просмотреть в phpinfo() XAMPP. Спасибо друзьям в области комментариев за вашу помощь.