6

更新:

我在这方面花了太多时间,并决定放弃它并继续使用笨重的 NetBeans。

原始问题:

我在让 xdebug 与 sublime text 2 一起工作时遇到了一些困难。

到目前为止我所做的是安装:

  1. 灯,
  2. php5-xdebug
  3. python2.6
  4. 崇高的文本 2
  5. sublimex调试

如果我然后使用 sublime 打开一个 php 文件并按 shift+f8,则会弹出 xdebug 菜单,我可以从中add/remove breakpoint也可以start debugging.

一些php: 一些php

当我按下 shift+f8 时,菜单下拉: 当我按 shift+f8 时菜单下拉

调试开始:

在此处输入图像描述

在那张图片中,它说:

Xdebug: No URL defined in project settings file

Info.sublime-project 包含:

{
    "folders":
    [
        {
            "path": "/var/www"
        }
    ],

    "settings": {
        "xdebug": { "url": "http://localhost" }
    }
}

从第三张截图可以看出,我已经开始调试,没有任何反应,没有错误,没有打开浏览器窗口,什么也没有。如果我手动导航到localhost/info.php,页面将正常加载。如果我手动添加?XDEBUG_SESSION_START=sublime.xdebug到 url 的末尾localhost/info.php?XDEBUG_SESSION_START=sublime.xdebug并在浏览器上点击刷新,页面会正常加载并且调试仍然没有开始。

我究竟做错了什么?

更新:有关端口的一些信息:

在尝试通过 sublime text 2 启动 xdebug 之前

oshirowanen@ubuntu:~$ netstat -antp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -                 
tcp        0      0 90.190.20.220:54913     90.180.80.70:443        ESTABLISHED 2439/python     
tcp        0      0 90.190.20.220:51727     190.40.210.160:443      TIME_WAIT   -               
tcp        1      0 90.190.20.220:50967     90.180.90.20:80         CLOSE_WAIT  2349/ubuntu-geoip-p
tcp6       0      0 :::80                   :::*                    LISTEN      -               
oshirowanen@ubuntu:~$ 

手动启动 chromium 并通过 sublime text 2 启动 xdebug 后

oshirowanen@ubuntu:~$ netstat -antp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      2241/dropbox    
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:59424         127.0.0.1:80            ESTABLISHED 2924/chromium-brows
tcp        0      0 127.0.0.1:43123         127.0.0.1:9000          ESTABLISHED -               
tcp        0      0 127.0.0.1:9000          127.0.0.1:43123         ESTABLISHED 2903/sublime_text
tcp        0      0 90.190.20.220:40809     170.190.40.70:443       ESTABLISHED 2924/chromium-brows
tcp        0      0 90.190.20.220:54913     90.180.80.70:443        ESTABLISHED 2439/python     
tcp        0      0 90.190.20.220:43900     170.190.70.90:443       ESTABLISHED 2924/chromium-brows
tcp        0      0 90.190.20.220:35259     170.190.70.100:443      ESTABLISHED 2924/chromium-brows
tcp        0      0 127.0.0.1:59426         127.0.0.1:80            TIME_WAIT   -               
tcp        0      0 90.190.20.220:37922     170.190.70.90:443       ESTABLISHED 2924/chromium-brows
tcp        1      0 90.190.20.220:50967     90.180.90.20:80         CLOSE_WAIT  2349/ubuntu-geoip-p
tcp        0      0 90.190.20.220:40847     170.190.40.60:80        ESTABLISHED 2924/chromium-brows
tcp6       0      0 :::80                   :::*                    LISTEN      -               
tcp6       0      0 127.0.0.1:80            127.0.0.1:59423         TIME_WAIT   -               
tcp6       0      0 127.0.0.1:80            127.0.0.1:59424         ESTABLISHED -               
oshirowanen@ubuntu:~$ 
4

4 回答 4

1

一些技巧:

  1. 检查 Xdebug 是否正在运行,检查 phpinfo 命令生成的信息。

  2. 在 xdebug 配置中启用远程调试(并使用 phpinfo 命令再次验证):

    xdebug.remote_enable=1

  3. 我不使用 Sublime Text 中的 xdebug 设置。我认为没有必要。

  4. 在 Sublime Text 中打开控制台。任何问题都会记录在控制台中。pulgin 主页中报告了 Ubuntu 中的一些问题。

  5. 我使用浏览器扩展来激活或停用调试。在 Chrome 中查找“Xdebug Helper for Chrome”。您需要将 cookie 名称配置为“sublime.xdebug”。

于 2012-12-27T09:19:40.550 回答
0

我使用Easy xDebug for firefox 来启动调试会话,这很有效。您需要为 idekey 使用“sublime.xdebug”。

我想你那里有一些断点?您的屏幕截图暗示您这样做,但请确保您使用 shift+f8 菜单添加它们。

于 2013-01-04T13:10:07.373 回答
0

您的配置有问题,它使用了错误的语法(根据问题 #13):

{
    "folders":
    [
        {
            "path": "/var/www"
        }
    ],

    "settings": { <<<==== problem here
        "xdebug": { "url": "http://localhost" }
    }
}

相反,它应该是:

{
    "folders":
    [
        {
            "path": "/var/www"
        }
    ],

    "xdebug": 
    {
        "url": "http://localhost" 
    }        
}

这可能也导致它无法正常工作。

于 2013-01-08T10:24:02.907 回答
0

我遇到了同样的问题并在这里提交了错误报告:

https://github.com/Kindari/SublimeXdebug/issues/58

但是,它可能是 XDebug 本身中与套接字相关的错误:

http://forums.netbeans.org/viewtopic.php?p=141779#141779

于 2013-03-09T01:13:06.393 回答