#php #visual-studio-code #xdebug
Вопрос:
- Я загрузил dll-файл, скопировав
phpinfo()
выходные данные на сайт Xdebug, поэтому я думаю, что получил правильный файл. - Я отредактировал свой файл php.ini и перезапустил веб-сервер Apache (я использую XAMPP).
- Я устанавливаю точки останова, нажимаю «Добавить конфигурацию» и запускаю отладку в коде Visual Studio.
К сожалению, точка останова не сработала. Я прошел через множество тем, учебных пособий, но это все еще не работает.
Вот как php.ini
выглядит мой файл:
[XDebug]
zend_extension = "D:xamppphpextphp_xdebug-3.0.4-8.0-vs16-x86_64.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
Это мой конфигурационный файл:
{
// 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": 9003
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 0,
"runtimeArgs": [
"-dxdebug.start_with_request=yes"
],
"env": {
"XDEBUG_MODE": "debug,develop",
"XDEBUG_CONFIG": "client_port=${port}"
}
},
{
"name": "Launch Built-in web server",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-dxdebug.mode=debug",
"-dxdebug.start_with_request=yes",
"-S",
"localhost:0"
],
"program": "",
"cwd": "${workspaceRoot}",
"port": 9003,
"serverReadyAction": {
"pattern": "Development Server \(http://localhost:([0-9] )\) started",
"uriFormat": "http://localhost:%s",
"action": "openExternally"
}
}
]
}
Это изображение, которое я сделал, используя xdebug_info();
Ваша помощь спасла мой день.
Ответ №1:
На снимке экрана показано, что у вас не включен отладчик шагов (на нем написано «Отключен»).
В вашей конфигурации говорится:
zend_extension = "D:xamppphpextphp_xdebug-3.0.4-8.0-vs16-x86_64.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
Xdebug 3 больше не использует xdebug.remote_enable
или xdebug.remote_autostart
. В соответствии с Руководством по обновлению они были переименованы в:
xdebug.mode=debug
xdebug.start_with_request=yes
Столбец «Документы» на вашем снимке экрана также содержит ссылки на документацию по этой конкретной функции.
Комментарии:
1. Спасибо. Это сработало, добавив
xdebug.mode=debug
иxdebug.start_with_request=yes
в файл php.ini.