如何在Eclipse中设置Zend Debugger?

9
我正在尝试建立我的第一个PHP开发环境,但在调试环境中遇到了一些问题,更准确地说是无法命中断点。
以下是我所做的:
1)确认php在Windows上的Apache服务器上工作。我通过创建一个包含phpinfo()的测试index.php文件来完成这个操作。
2)我已经在Eclipse中安装了Zend Debugger。
3)我已经使用以下代码设置了我的php.ini文件。
[Zend]
zend_extension_ts="c:/php/ext/ZendDebugger.dll"
zend_debugger.allow_hosts=127.0.0.1/32
zend_debugger.expose_remotely=always

4.) 我已经在Windows防火墙中开放了调试器的端口,我的情况下Eclipse指出Zend正在使用10000端口。

5.) 我已经在文档根目录中添加了dummy.php文件。

6.) 在所有这些操作完成后,我重启了Apache。

7.) 当我在Eclipse中测试调试器时,我收到了以下错误消息。

Zend Error

8.) 当我查看建议部分时,我看到了这个。

enter image description here


这并不是回答你的问题:我通常使用xdebug远程调试器。我可以说它与Eclipse/PDT(和其他IDE)很好地配合使用。此外,我喜欢可用的文档,并且我有一种感觉,在线上也有更多的资源和帮助可用于此。 - hakre
好的,也许我会稍微尝试一下。我甚至还没有尝试过它。在我的谷歌搜索中,有很多人赞扬Zend,但也许他们选择了可以下载的整个服务器安装包,我不知道。xdebug是否也适用于本地调试? - Steven Combs
1个回答

4
最可能的原因是PHP配置错误。请检查 phpinfo() 是否有Zend Debugger部分,并验证您的配置。
注意,zend_debugger_ts 中的 _ts 后缀代表线程安全。如果您的PHP版本为5.3或更高版本,或者您已禁用线程安全(可以在 phpinfo() 中查看),则必须使用 zend_debugger 指令而不是 zend_debugger_ts
另外,expose_remotely 可以接受值 0(从不)、1(始终)和 2(允许主机);任何其他值都会使Zend Debugger无法检测到。

1
终于!他们在_ts问题上非常不清楚。我遵循的大多数教程都说,如果你安装了一个线程安全版本的PHP,那么它必须有_ts后缀。天哪,我一整天都在与这个问题斗争...谢谢。 - Steven Combs

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