将 XDebug 与 Eclipse PDT 和 XAMPP 一起使用
Posted
技术标签:
【中文标题】将 XDebug 与 Eclipse PDT 和 XAMPP 一起使用【英文标题】:Using XDebug with Eclipse PDT & XAMPP 【发布时间】:2011-07-13 21:12:57 【问题描述】:我无法将 php 脚本作为脚本进行调试。它总是在启动后立即终止。我在我的 php.ini 中设置了一个 Xdebug 日志,但这完全没有帮助。 Xdebug 确实显示在我的 phpinfo() 上,所以我知道它是在 Apache 中加载的。
我还可以将代码调试为网页(它不提供有关变量的信息并且不会在断点处停止),因此我知道 Eclipse 具有正确的服务器设置。两种调试选项都使用相同的 PHP exe(使用 XAMPP 安装的,使用 vc6 编译器编译的 php 5.3.1)。我确保 Xdebug 的编译匹配这些设置。
在一个可能相关的注释上:我注意到我只能使用 zend_extension 命令而不是 zend_extension_ts 加载 Xdebug,即使我的 PHP 版本确实是线程安全的?我不得不承认我对此有点困惑。
我还非常确定,无论我在 Eclipse 中选择“XDebug”的什么地方,我都选择了。我已经按照两个教程在这里无济于事。谁有想法?我已经尝试了与我的 XAMPP(2.0.6-dev)捆绑的 Xdebug 版本,并且我还下载了一个新的 .dll,版本 2.1。
谢谢!
【问题讨论】:
【参考方案1】:Excellent instructions for Setup XDebug on XAMPP and Eclipse @user629300 说明适用于 3.5 之前的 Eclipse 版本,请参阅链接以获取基于版本的说明的说明。还有Getting XDebug to work with apache xampp to debug php,有图片有很好的解释。不过它们有点陈旧。
第一个链接的详细信息摘要,假设 PHP > 5.3(希望每个人现在都在运行!):
确保您的 php.ini 文件包含以下内容:
[XDebug]
zend_extension=xampp-folder\php\ext\php_xdebug.dll
xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
删除[Zend]
标题下的所有配置条目,尤其是那些以zend_extension
开头的条目
配置 Eclipse:
在 Window -> Preferences -> PHP -> Servers 中,配置 PHP 服务器以使用 XDebug,添加基本 URL 和本地 Web 根目录
在 -> 安装调试器,配置 XDebug 以接受远程会话
(可选?)将 PHP 可执行文件配置为指向 XAMPP 安装中的 php.exe
您现在应该能够通过在 URL 的查询字符串中添加 XDEBUG_SESSION_START
来在 Eclipse 中打断点,例如http://localhost/?XDEBUG_SESSION_START
.
【讨论】:
对像我这样盲目地从第一个链接中的示例中转储配置行并且无法使其正常工作的傻瓜的专业提示:使用的引号是 smart 即@987654329 @ 和”
- 它们应该改为常规双引号 "
。
不要忘记停止,然后重新启动 Apache,以读取新的 PHP.INI
你可以使用这个 Chrome 插件来定义 de XDEBUG_SESSION_START 当你想调试的时候。这可以帮助您进行 POST 调用。 chrome.google.com/webstore/detail/xdebug-helper/…【参考方案2】:
首先下载 xDebug 的 dll 然后编辑你的 php.ini 文件 zend_extension_ts = “C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll” 确保该行未注释 重启阿帕奇 确保您正在编辑正确的 php.ini 文件
【讨论】:
以上是关于将 XDebug 与 Eclipse PDT 和 XAMPP 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
在 Eclipse PDT 中使用 xdebug 和 cakephp 进行调试