Как настроить VSCode launch.json для Xdebug версии 3.0?

Сейчас я создаю проект Laravel. Несколько дней назад я переустановил ОС (Windows 10) и перестроил всю среду разработки. Проблема в обновленной версии Xdebug.

Отладка бэкенда с помощью Xdebug версии 2 работала хорошо, но я скачал dll-файл, установленный с помощью Xdebug v3, с xdebug.org/wizard и в соответствии с руководством (что-то вроде того, что я делал раньше). Но я больше не могу отлаживать.

Вот мой файл launch.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
        }
    ]
}

И кажется, что есть некоторые функции, обновленные с v2.

Что-то вроде изображения выше. Я перепробовал все возможные случаи, но не нашел решения. Кто-нибудь может мне помочь? Любой совет приветствуется. Спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
8 151
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

ИДЕ:
Как показывает руководство по обновлению (https://xdebug.org/docs/upgrade_guide), первое, что изменилось, — это номер порта, который IDE должна прослушивать для соединений. Это вы выделили, но убедитесь, что вы изменили его на 9003 в файле конфигурации json. Это должно быть единственное изменение, которое вам нужно сделать в вашей среде IDE.

Далее - Конфигурация Xdebug:
В Xdebug есть новый параметр: xdebug.mode (https://xdebug.org/docs/all_settings#mode). Его значение по умолчанию — develop, и вы должны изменить его (явно установить его на debug), чтобы перевести Xdebug в режим отладки (для этого вам нужно изменить php.ini). Дополнительные сведения см. в документации.

ОБНОВЛЕНИЕ:
Как правильно предложил @LazyOne в разделе комментариев, если вы хотите сохранить порт 9000, вы можете пропустить его изменение в VS Code и вместо этого снова установить порт на 9000 в настройках Xdebug: https://xdebug.org /docs/step_debug#client_port

При этом номер порта по умолчанию был изменен по какой-то причине: https://bugs.xdebug.org/view.php?id=1848. Возможно, вы захотите принять новый номер порта.

«Это вы выделили, но убедитесь, что вы изменили его на 9003 в файле конфигурации json». ИЛИ настройте Xdebug, чтобы он продолжал использовать 9000 (раньше это работало нормально).

LazyOne 16.12.2020 17:45

Спасибо за отзывчивость, ребята. На самом деле, я попытался переустановить vscode и расширение отладчика php. да, Золи Сабо прав. Настройка файла php ini: [XDebug] xdebug.mode=debug xdebug.start_with_request=yes zend_extension = C:\xampp\php\ext\php_xdebug-3.0.1-7.3-vc15-x86_64.dll примерно так, как указано выше. и номер порта должен быть 9003 в файле launch.json. Теперь это работает хорошо. Еще раз спасибо! :)

Rockstar0711 16.12.2020 20:16

Я решил проблему, удалив кеш с помощью команды artisan:

php artisan cache:clear

Я не знаю, как эта команда решила проблему, но я заметил, что когда я меняю порт на 9003, я все еще получаю сообщение об ошибке на порту 9000! Я думаю, что laravel закешировал порт!

Другие вопросы по теме