我一直在尝试使用“PHP Debug”扩展在VSCode上配置xDebug,以便与我当地的Homestead一起使用。不知怎的,它根本不起作用。我一直在尝试不同的配置更改,但没有成功。
以下是Vagrant框和VSCode中的配置:
/etc/php/7.1/fpm/conf.d/20-xdebug.ini
zend_extension=/usr/lib/php/20160303/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_connect_back = 0
xdebug.remote_host = 192.168.0.104
xdebug.remote_port = 9000
xdebug.max_nesting_level = 512
xdebug.remote_handler = "dbgp"
xdebug.remote_log=/var/log/xdebug.log
这是我在VSCode中的配置:
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"serverSourceRoot": "/home/vagrant/projects/Projectname",
"localSourceRoot": "${workspaceRoot}",
"port": 9000,
"log": true
}
]
}
当我在VSCode中启动调试会话时,我在调试窗口中得到了这个输出:
<- launchResponse
Response {
seq: 0,
type: 'response',
request_seq: 2,
command: 'launch',
success: true }
但是在运行我的应用程序时,它不会停在我的任何断点处。
有什么可能出错的想法吗?我是否需要在Homestead.yaml
?
答案 0 :(得分:3)
我知道我迟到了回答这个问题,但也许这篇文章可以帮助其他人节省时间:
我能够使用vagrant在PHP代码VSCode中进行调试,执行以下步骤:
"PHP Debug"
编辑"launch.json"
文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"localSourceRoot": "/your/host/php/dev/path/to/project-name",
"serverSourceRoot": "/home/vagrant/dev/project-name"
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
通过 ssh 连接到正在执行的家庭电脑
vagrant ssh
转到文件夹
cd /etc/php/7.1/fpm/conf.d /
编辑文件“ 20-xdebug.ini
”并验证端口9000是否已配置
执行sudo vim 20-xdebug.ini
。
编辑线条:
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.max_nesting_level = 500
xdebug.remote_port = 9000
保存并退出。
按[Escape]键。 键入:SHIFT Z Z
重新启动PHP
执行:
sudo service php7.1-fpm restart