Eclipse PDT调试设置(XDebug/Zend)

Eclipse PDT调试设置(XDebug/Zend),eclipse,zend-framework,aptana,xdebug,eclipse-pdt,Eclipse,Zend Framework,Aptana,Xdebug,Eclipse Pdt,为了让Eclipse调试我的CakePHP应用程序,我花了很长时间。我试着阅读了几篇教程(没有一篇那么好)。我已经尝试使用Zend和XDebug 我甚至不知道一旦它设置正确,我应该如何使用它 我尝试在PHP代码中设置一个断点,在文本编辑器中右键单击PHP文件,然后选择“调试PHP web应用程序”,但它从未达到断点。它在eclipse中打开了一个浏览器,并将一些GET参数附加到我的正常URL: ?调试主机=192.168.1.2%2C127.0.0.1&启动调试端口=1&调试端口=10000&原

为了让Eclipse调试我的CakePHP应用程序,我花了很长时间。我试着阅读了几篇教程(没有一篇那么好)。我已经尝试使用Zend和XDebug

我甚至不知道一旦它设置正确,我应该如何使用它

我尝试在PHP代码中设置一个断点,在文本编辑器中右键单击PHP文件,然后选择“调试PHP web应用程序”,但它从未达到断点。它在eclipse中打开了一个浏览器,并将一些GET参数附加到我的正常URL:

?调试主机=192.168.1.2%2C127.0.0.1&启动调试端口=1&调试端口=10000&原始调试url=http%3A%2F%2F本地主机%2F参与者&发送测试结束=1&调试停止=1&调试启动会话=1&调试否缓存=1331422177353&调试会话id=1000

在我的项目php调试属性中,有一件事我不确定,那就是php可执行文件字段。它被自动设置为“none”,所以我必须创建一个指向“/usr/bin/php”的条目。也许这是不对的

我甚至用一个php文件创建了一个简单的应用程序,其中只有几个echo语句。我也不能让调试器在这一点上命中断点

这是我的phpinfo()


在我的生活中,让调试器工作从来没有这么麻烦过。

从php.ini的外观来看,调试器扩展没有加载。它通常显示在第一个框的正下方,类似于Derick Rethans的《Xdebug v2.1.0版权(c)2002-2008》中的

因此,首先需要确保服务器的PHPINI设置正确。找到httpd.conf指向的php.ini,并对其进行编辑,使其包含如下内容:

zend_extension_ts=C:\php\ext\php_xdebug-2.1.0-5.3.0.dll
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
注:

  • ts
    表示线程安全,因此请确保为调试器提供的包也是
    ts
  • Linux/Mac中的设置非常类似,并带有.so调试器扩展
  • 最简单的方法可能是设置一个类似XAMPP的服务器,它提供兼容的调试器扩展
一旦开始运行,php.info显示加载的xdebug(或Zend Debugger),就可以开始了

如果您的服务器位于本地计算机中,最简单的方法是在htdocs中创建项目。当调试器尝试解析断点时,以及当PDT尝试解析要打开的正确文件时,这将防止源查找出现任何问题。 (有
路径映射
设置可以操作,但这样可以省去麻烦)

不要被PHP可执行调试(PHP脚本调试器)弄糊涂。您需要运行远程调试(即使它在同一台机器上)。PHP脚本仅适用于简单的PHP脚本,按原样运行(不在服务器上,类似于CLI)

希望这将有助于您开始!:)


更新:在PHP5.3之后,不需要使用zend_扩展名,而是只使用Php.net上提到的zend_扩展名进行调试时,它会打开文件的第二个副本吗?如果是这样,它将下拉远程版本进行调试,您需要在该文件中设置断点。

您的服务器上是否安装并配置了调试器?