2017-05-04 109 views
0

我已经安装了VS代码PHP调试器visual studio code PHP调试不起作用

我正在使用xampp。

我试着运行代码(2)方式(侦听和启动)。

只是坐在那里,而启动显示产卵PHP ENOENT在调试控制台。

这是我的launch.json。

{ 
    "version": "0.2.0", 
    "configurations": [ 

     { 
      "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 
     } 
    ] 
} 

我在做什么错?

+0

您是否在php.ini中启用远程调试? –

+0

你的问题是什么?对我来说似乎还不清楚。 – Jer

+0

[了XDebug] 的zend_extension = “php_xdebug-2.5.3-5.5-VC11-nts.dll” ; xdebug.profiler_append = 0 ; xdebug.profiler_enable = 1 ; xdebug.profiler_enable_trigger = 0 ; xdebug.profiler_output_dir =“ C:\ XAMPP \ TMP” ; xdebug.profiler_output_name = “cachegrind.out%叔%S” xdebug.remote_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_handler = “dbgp” xdebug.remote_host =本地主机 xdebug.remote_port = 9000 xdebug.trace_output_dir =“C:\ xampp \ tmp” – GaryK4

回答

0

您是否检查过以确保防火墙允许端口9000上的入站连接?我在我的一台开发机器上遇到了这个确切的问题。虽然所有其他设置都是正确的,但我无法击中这些折点。一旦我在防火墙中添加了一个异常,它就开始工作。

所以如果这是你的设置的问题,你有两个选项来解决它。

  1. 完全关闭您的防火墙,或者至少暂时关闭您的项目。
  2. 添加一个例外,你的防火墙设置:
    • 转到Windows控制面板,然后键入“防火墙”。
    • 从左侧导航栏中选择“入站规则”,然后单击“新规则”。
    • 选择“端口”,然后点击“下一步”。
    • 确保选择了“特定本地端口”选项并为端口号键入“9000”。
    • 选择“允许连接”,然后点击“下一步”。
    • 选中“域名”,“私人”和“公共”,然后点击“下一步”。
    • 输入一个描述性名称,如“XDebug Port”,然后点击“完成”。
    • 重新启动Visual Studio代码,然后再次尝试调试。

假设你有配置设置的Web服务器部分正确这应该让你调试。

希望这会有所帮助。

0

刚才所说的:

  1. 我们有操作系统Windows与Microsoft Visual代码,我们已经安装了“PHP调试”模块https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug#overview措施,让工作已经罗滕这里,但我再次写入:

  2. 安装XDebug。在线向导https://xdebug.org/wizard.php可以帮助你,只需在这里发布phpinfo()数据。保存在phpinfo.php的是:

    <?php phpinfo(); ?> 
    

然后在浏览器本地主机/ phpinfo.php的开放,复制你看到(CTRL + A,然后Ctrl + C),以向导的一切。它显示了所获得的信息和步骤做: enter image description here

在指令php.ini中所示( 总是有许多的php.ini
  • 打开- apache的文件夹具有一个PHP .ini,php有php.ini和phpForApache.ini,但phpinfo清楚地显示哪一个是真正使用的)

    2.1。并用xdebug.remote_enable = 1和xdebug.remote_autostart = 1进行配置。我的工作示例:

    [XDebug] 
    zend_extension = "c:\wamp64\bin\php\php7.1.9\ext\php_xdebug-2.6.0beta1-7.1-vc14-x86_64.dll"  
    xdebug.stopOnEntry = true 
    xdebug.profiler_enable = off 
    xdebug.profiler_enable_trigger = Off 
    xdebug.profiler_output_name = cachegrind.out.%t.%p 
    xdebug.profiler_output_dir ="c:/wamp64/tmp" 
    xdebug.show_local_vars=0 
    ;xdebug.profiler_output_name = "cachegrind.out.%t-%s" 
    xdebug.remote_enable = 1 
    xdebug.remote_autostart = 1 
    xdebug.remote_handler = "dbgp" 
    xdebug.remote_host = "127.0.0.1" 
    xdebug.remote_log = "C:\wamp64\tmp\xdebug.txt" 
    xdebug.remote_port = 9000 
    xdebug.trace_output_dir = "C:\wamp64\tmp" 
    xdebug.remote_cookie_expire_time = 36000 
    
  • 重新启动Apache2 Web服务器。

  • 另外:

    出于某种原因,我第一次来到了XDebug的NetBeans工作进行测试,然后才我发现在手动选项xdebug.remote_autostart = 1,使得它在VS代码工作也。

    如果您不确定XDebug的安装情况,请检查phpinfo页面是否带有Xdebug字样,并检查logs/apache_errors.log中是否有“加载php_xdebug失败”(不正确的DDL下载)。然后检查任何其他IDE。

    好的问候!

    相关问题