Sublime Text 2 中使用 Xdebug

3

我正在尝试使用Sublime Text 2设置Xdebug,以便在本地机器上调试PHP,但是一无所获。我正在运行带有PHP 5.4的MAMP。我已经将以下内容输入到我的php.ini文件末尾:

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_autostart=1

Xdebug.so扩展程序随MAMP一起提供,我已经验证它在php.ini文件中指定的位置。我可以在我的PHP信息中看到Xdebug信息。

在Sublime Text 2中,我安装了这个插件,并将我的项目设置更改为以下内容:

{
    "folders":
    [
        {
            "path": "/Applications/MAMP/htdocs"
        }
    ],

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

我可以按SHIFT和F8键在Sublime Text 2中打开插件菜单,然后添加或删除断点(代码行左侧会出现灰色的圆点)。当我点击“开始调试”时,它会在URL后附加"?XDEBUG_SESSION_START=sublime.xdebug"字符串并在浏览器中打开。但是我的断点没有任何作用。
我尝试在我的代码中添加"xdebug_break();"以查看是否会停止程序,但是没有效果。浏览器和IDE似乎完全没有连接...
有任何想法吗?
2个回答

11

首先,Kindari的xdebug插件可能不会让你很满意。他制作这个插件只是为了试验,一边写一边学习sublime api,所以它充满了问题、硬编码的变量等等。我最终放弃使用并卸载了该插件,因为它实际上没什么用(但是确实能用)。在我看来,最大的缺陷之一就是不能显示多于一个层级的数组变量。

几个月前,他在github上发布了他将从零开始重写它的计划,但自那时以来似乎已经停止开发了。但我仍然非常渴望推出新版本,甚至考虑自己学习Python并编写它。

如果你想尝试,首先确保Xdebug正常运行,可以通过其他Xdebug客户端尝试。如果Xdebug在其他地方工作正常,请确保安装了python2.6,因为它与2.7不兼容。如果你正在运行ubuntu 12.04,则python2.6不在软件源中,插件自述文件中提供了Ubuntu 12.04的解决方法:

  • 下载[http://packages.ubuntu.com/lucid/python2.6][python 2.6]。
  • 解压:
  • dpkg-deb -x python2.6_2.6.5-1ubuntu6_i386.deb python2.6
    
  • 将提取的 usr/lib/python2.6 文件夹复制到 {Sublime Text directory}/lib(=/usr/lib/sublime-text-2/lib/)

  • 记住两件事情:首先,有一个文件 /usr/lib/sublime-text-2/lib/python26.zip,请勿删除此文件。其次,在您提取的.deb文件中,存在 usr/lib/python2.6 目录,这就是您要复制的内容,而不是整个 python2.6 目录。因此,如果您在未解压缩的 .deb 文件之外,

    cp -r python2.6/usr/lib/python2.6 /usr/lib/sublime-text-2/lib
    

    可能可以胜任这个工作。我在这里并不确定,你是应该复制python2.6 /usr/lib/python2.6文件夹还是只复制它的内容,我两者都复制了,但没有出现问题。


    1
    在撰写本文时,实际上该项目已移交给另一个项目维护者:https://github.com/martomo/SublimeTextXdebug - chrisjlee

    0

    你是否安装了Python 2.x版本?尝试安装Python,或设置xdebug.remote_enable=1


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接