Для меня значок шестеренки тоже ничего не сделал, поэтому для генерации необходимой конфигурации PHP я переключил выпадающий список и нажал Добавить конфигурацию и настроил две конфигурации PHP в launch.json
:
{
"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 Debug :
Слушайте XDebug
Listen for XDebug Этот параметр просто начнет прослушивание на указанном порту (по умолчанию 9000) для XDebug. Если вы настроили XDebug, как рекомендовано выше, каждый раз, когда вы отправляете запрос через браузер на веб-сервер или запускаете сценарий CLI, XDebug подключается, и вы можете останавливаться на точках останова, исключениях и т. Д.
Запустить открытый в данный момент скрипт
Запустить открытый скрипт. Этот параметр является примером отладки CLI. Он запустит открытый скрипт в качестве CLI, покажет все выходные данные stdout / stderr в консоли отладки и завершит сеанс отладки после выхода из скрипта.
Во-вторых, убедитесь, что вы правильно настроили расширение PHP Debug согласно инструкциям:
Это расширение является отладочным адаптером между VS Code и XDebug Дерика Ретана. XDebug - это расширение PHP (.so файл в Linux и .dll в Windows), которое необходимо установить на ваш сервер.
Установите XDebug. Я настоятельно рекомендую вам сделать простой файл test.php, поставить phpinfo (); там, затем скопируйте вывод и вставьте его в мастер установки XDebug. Он проанализирует его и предоставит вам инструкции по установке для вашей среды. Короче говоря:
В Windows: загрузите подходящую предварительно скомпилированную DLL для вашей версии PHP, архитектуры (64/32 бит), безопасности потоков (TS / NTS) и версии компилятора Visual Studio и поместите ее в папку расширений PHP.
В Linux: либо загрузите исходный код как tarball, либо клонируйте его с помощью git, а затем скомпилируйте.
Сконфигурируйте PHP для использования XDebug, добавив zend_extension = path / to / xdebug в ваш php.ini. Путь вашего php.ini отображается в выходных данных phpinfo () в разделе «Загруженный файл конфигурации».
Включите удаленную отладку в вашем php.ini:
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
Существуют и другие способы сообщить XDebug о подключении к удаленному отладчику, кроме remote_autostart, например куки, параметры запроса или расширения браузера. Я рекомендую remote_autostart, потому что он "просто работает". Существует также множество других опций, таких как порт (по умолчанию 9000), для получения дополнительной информации см. Документацию XDebug по удаленной отладке.
Если вы занимаетесь веб-разработкой, не забудьте перезапустить веб-сервер, чтобы перезагрузить настройки.
Проверьте правильность установки, проверив вывод phpinfo () для раздела XDebug.