在Visual Code

时间:2017-07-10 13:49:25

标签: visual-studio-code xdebug homestead

我一直在尝试使用“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

中将我的VM的任何端口映射到我的主机

1 个答案:

答案 0 :(得分:3)

我知道我迟到了回答这个问题,但也许这篇文章可以帮助其他人节省时间:

我能够使用vagrant在PHP代码VSCode中进行调试,执行以下步骤:

  1. 安装VSCode扩展程序"PHP Debug"
  2. 编辑"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
          }
       ]
    }
    
  3. 通过 ssh 连接到正在执行的家庭电脑 vagrant ssh

  4. 转到文件夹

      

    cd /etc/php/7.1/fpm/conf.d /

  5. 编辑文件“ 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

  6. 保存并退出。

    按[Escape]键。 键入:SHIFT Z Z

  7. 重新启动PHP执行: sudo service php7.1-fpm restart

  8. 希望它有所帮助!