Как отлаживать PHP-код в Visual Studio Code в сервисах XAMPP?

Как отлаживать PHP-код в Visual Studio Code в сервисах XAMPP?

Сначала я включил XAMPP и запустил следующие службы:

Сервисы, которые я запустил в XAMPP - скриншот

Кстати, версия PHP 7.3.3. Потом проверил phpinfo()в браузере. Вот скриншот:

phpinfo() - скриншот

И я пошёлxdebug.orgчтобы загрузить эту версию Xdebug:

Версия Xdebug, которую я скачал - скриншот

Когда я скопировал этот файл в C:\xampp\php\ext, я обнаружил, что есть файл с именем php_xdebug.dll. Как бы то ни было, я все равно вызвал файл Xdebug в путь без изменения его имени ( php_xdebug-2.7.2-7.3-vc15-x86_64.dll).

Далее я скопировал фрагмент кода php.iniиз статьи в Интернете:

zend_extension = "C:\xampp\php\ext\php_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 Code. Расширение 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. Спасибо друзьям в области комментариев за вашу помощь.

решение1

Вам не нужно открывать порт 9000, вы просто запускаете отладку следующим образом:

введите описание изображения здесь

затем

введите описание изображения здесь

выберите PHP

введите описание изображения здесь

начать и играть зеленый значок

введите описание изображения здесь

добавьте точку останова в ваши методы или контроллеры

введите описание изображения здесь

управляйте точками останова

введите описание изображения здесь

Связанный контент