vscode无法在Homestead环境下远程调试php代码,但我可以在一天前对其进行调试

时间:2018-06-24 14:57:17

标签: php laravel debugging

昨天我配置了相关文件来调试基于Homestead的laravel代码,该代码当时可以通过jonagoldman对此site的回答进行正常调试。但是由于我在Windows下安装了xdebug来调试本地文件PHP脚本文件,现在无法远程调试。   

我不知道这是否是因为Homestead中的本地Xdebug与Xdebug之间存在冲突。我已经找到了很多有关此的信息,但是没有一个人解决了。如果有人可以帮助我解决这个问题,我将非常感谢他。

   我的操作系统是Windows 10,Laravel是5.5,php是7.1。

   这是我的一些配置文件。

  • vscode launch.json: { “ version”:“ 0.2.0”, “配置”:[

    {
        "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
    },
    {
        "name": "Listen for XDebug on Homestead",
        "type": "php",
        "request": "launch",
        "pathMappings": {
            "/home/vagrant/Code": "E:/Code"
        },
        "port": 9000
    }
    

    ] }

  • 宅基Xdebug.ini:

    zend_extension = xdebug.so

    xdebug.auto_trace = 1

    xdebug.remote_enable = 1

    xdebug.remote_host = 10.0.2.2

    xdebug.remote_port = 9000

    xdebug.remote_autostart = 1

  • phpinfo()Xdebug设置

  

xdebug       xdebug支持已启用
      版本2.5.5
      IDE Key流浪汉
      支持的协议修订版
      DBGp-通用DeBuGger协议$ Revision:1.145 $
      指令本地值主值
      xdebug.auto_trace开启开启
      xdebug.cli_color 0 0
      xdebug.collect_assignments关闭关闭
      xdebug.collect_includes开启开启
      xdebug.collect_params 0 0
      xdebug.collect_return关闭关闭
      xdebug.collect_vars关关
      xdebug.coverage_enable开启开启
      xdebug.default_enable开启开启
      xdebug.dump.COOKIE无值无值
      xdebug.dump.ENV无值无值
      xdebug.dump.FILES无值无值
      xdebug.dump.GET无值无值
      xdebug.dump.POST无值无值
      xdebug.dump.REQUEST无值无值
      xdebug.dump.SERVER无值无值
      xdebug.dump.SESSION无值无值
      xdebug.dump_globals开启开启
      xdebug.dump_once开启开启
      xdebug.dump_undefined关闭关闭
      xdebug.extended_info开启开启
      xdebug.file_link_format无值无值
      xdebug.force_display_errors关关
      xdebug.force_error_reporting 0 0
      xdebug.halt_level 0 0
      xdebug.idekey无值无值
      xdebug.max_nesting_level 256256
      xdebug.max_stack_frames -1 -1
      xdebug.overload_var_dump 2 2
      xdebug.profiler_aggregate关闭关闭
      xdebug.profiler_append关关
      xdebug.profiler_enable关关
      xdebug.profiler_enable_trigger关关
      xdebug.profiler_enable_trigger_value无值无值
      xdebug.profiler_output_dir / tmp / tmp
      xdebug.profiler_output_name cachegrind.out。%p cachegrind.out。%p
      xdebug.remote_addr_header无值无值
      xdebug.remote_autostart开启时
      xdebug.remote_connect_back关关
      xdebug.remote_cookie_expire_time 360​​0 3600
      xdebug.remote_enable开启开启
      xdebug.remote_handler dbgp dbgp
      xdebug.remote_host 10.0.2.2 10.0.2.2
      xdebug.remote_log无值无值
      xdebug.remote_mode要求
      xdebug.remote_port 9000 9000
      xdebug.scream关闭关闭
      xdebug.show_error_trace关关
      xdebug.show_exception_trace关关
      xdebug.show_local_vars关关
      xdebug.show_mem_delta关关
      xdebug.trace_enable_trigger关关
      xdebug.trace_enable_trigger_value无值无值
      xdebug.trace_format 0 0
      xdebug.trace_options 0 0
      xdebug.trace_output_dir / tmp / tmp
      xdebug.trace_output_name跟踪。%c跟踪。%c
      xdebug.var_display_max_children 128128
      xdebug.var_display_max_data 512512
      xdebug.var_display_max_depth 3 3

  • Homestead.yaml


    ip:“ 192.168.10.10” 记忆体:2048 cpus:1 提供商:virtualbox

    授权:〜/ .ssh / id_rsa.pub

    键:     -〜/ .ssh / id_rsa     -〜/ .ssh / id_rsa.pub

    文件夹:     -地图:e:/代码       到:/ home / vagrant / Code

    网站:

    - map: sample.test
      to: /home/vagrant/Code/sample/public
    
    - map: Demo.test
      to: /home/vagrant/Code/demo/public
    

    数据库:     -演示     -样本

    变量:     -键:APP_ENV       值:本地

1 个答案:

答案 0 :(得分:0)

我和你有同样的问题。但是,我可以调试修复launch.json。

我的launch.json设置在下面。

   {
      "name": "Homestead",
      "type": "php",
      "request": "launch",
      "pathMappings": {
   //     "/home/vagrant/code": "D:/workspace/laravel_work"  // can't work
          "/home/vagrant/code": "${workspaceRoot}"           // work
   //     "/home/vagrant/code": "D:\\workspace\\laravel_work"// work 
      },
      "port": 9000
    }

您应该修复launch.json

{
    "name": "Listen for XDebug on Homestead",
    "type": "php",
    "request": "launch",
    "pathMappings": {
        //"/home/vagrant/Code": "E:/Code"
          "/home/vagrant/Code": "E:\\Code"
    },
    "port": 9000
}