XDebug 不适用于 xampp

Posted

技术标签:

【中文标题】XDebug 不适用于 xampp【英文标题】:XDebug not working with xampp 【发布时间】:2011-03-04 23:43:50 【问题描述】:

我正在使用(或无论如何尝试)将捆绑的 XDebug 与 XAMPP 1.7.2 一起使用。它与 Apache 2.2.12、php 5.3.0、XDebug 2.0.5 和 Zend 捆绑在一起(不确定版本)

这是一个全新的 XAMPP 安装,我添加到 php.ini(位于 xampp/php/php.ini)的唯一内容是:

zend_extension_ts = "C:\xampp\php\extensions\php_xdebug.dll"
[xdebug]
xdebug.auto_trace = 1
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.default_enable = 1
xdebug.extended_info = 1
xdebug.show_local_vars = 0
xdebug.show_mem_delta = 1
xdebug.trace_format = 1
xdebug.trace_options = 0
xdebug.trace_output_dir ="C:\xampp\tmp"

xdebug.remote_enable=1
xdebug.remote_mode="req"
xdebug.remote_host=127.0.0.1
xdebug.remote_port=17869
xdebug.idekey=<idekey>

xdebug.remote_handler="gdb"
xdebug.auto_profile = 1
xdebug.auto_profile_mode = 2
xdebug.output_dir = "C:\xampp\tmp"

xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD

(这只是我尝试过的许多不同配置之一)

但尽我所能,XDebug 将无法连接到任何东西。我已经尝试过 Netbeans 和 Debugclient.exe(在 xampp/php/debugclient.exe 中)。他们都只是坐等永远。

如何让 XDebug 工作?

【问题讨论】:

您可以使用wireshark查看尝试连接时网络上发生的情况,您可以激活记录连接的xdebug日志。希望这会有所帮助 我记得 Netbeans 使用的默认端口是 9000 将端口改为9000并不能解决问题 【参考方案1】:

我的案子很烦人。一切都是对的,除了一件意想不到的事情。配置行

zend_extension = \xampp\php\ext\php_xdebug-2.2.5-5.5-vc11.dll

XDebug 网站生成的错误。我不得不改成

zend_extension = php_xdebug-2.2.5-5.5-vc11.dll

希望以后有人遇到和我一样的问题可以节省一些时间

【讨论】:

谢谢!在找到这篇文章之前,我一直在寻找解决这个意外问题的方法。 很好 - 这意味着 Xdebug 设置说明需要更改?这也为我解决了这个问题。【参考方案2】:

我遇到过这样的问题,我按照 xdebug 为 xampp 1.7.2 进行配置。无法工作。我只是将 zend_extension_ts 更改为 zend_extension。它对我有用。

【讨论】:

【参考方案3】:

如果你还没有解决这个问题。以防万一,任何人都在寻找答案。转到本地主机(如果您使用的是 XAMPP)并单击左侧菜单的链接 phpinfo()。然后单击表格上的任意位置并按“Ctrl + C”。然后转到http://xdebug.org/find-binary.php 并将您刚刚从表格中复制的所有信息粘贴到白色文本框中。单击下面的链接,您将获得正确的文件下载加上一些说明。将您刚刚下载的文件复制到说明中所述的位置(即 C:\xampp\php\ext - 在我的情况下,我使用 XAMPP 1.7.7)。转到您的 php.ini 文件应该希望在'C:\ xampp \ php \ php.ini'中并寻找关键字'[XDebug]'。不要复制'zend_extension = C:\ xampp \ php \ ext \ php_xdebug-2.1.3行-5.3-vc9.dll'(在我的例子中)在 ';zend_extension = "C:\xampp\php\ext\php_xdebug.dll"' 行下。注意:确保你没有放 ';'在您刚刚粘贴的新行的开头。现在继续并取消注释每个文本块底部的所有“exdebug.FUNCTION_NAME”行。

重启你的服务器。返回到您的 phpinfo() 页面,像以前一样复制表格并将其粘贴到 xDebug 网站。这应该足以让您正常工作。

PD:确保您从 xDebug 下载的文件大约为 147kb,因为在某些情况下人们会下载小文件(例如 3kb)。

让我知道进展如何。 :)

【讨论】:

谢谢!下次我想用头撞服务器时,我会试试这个。几乎放弃了 我遇到了同样的问题,并在 xserver.org 上手动搜索了正确的 dll。有了你的建议,我又得到了一个,现在它可以工作了。 Fazit:你必须使用 find-binary 工具,感谢 in【参考方案4】:

Xdebug v2.0 不适用于 PHP 5.3。 Xdebug v2.1 提供 PHP 5.3 支持。否则我会摆脱 xdebug ini 配置,除了:

zend_extension_ts = "C:\xampp\php\extensions\php_xdebug.dll"
xdebug.remote_enable   = On
xdebug.remote_host     = "localhost"
xdebug.remote_port     = 9000
xdebug.remote_handler  = "dbgp"

将此作为您的测试,一旦成功,然后添加其他配置。确保注释掉其他 zend 内容。

【讨论】:

【参考方案5】:

joomla 网站上有一个很好的教程,介绍如何让 XAMPP、XDebug 和 Eclipse(Netbeans 以相同的方式配置)协同工作,它们涵盖了所有主要的操作系统。

http://docs.joomla.org/Setting_up_your_workstation_for_Joomla!_development

【讨论】:

我已经尝试过他们在那里详述的基本相同的东西。没有运气。

以上是关于XDebug 不适用于 xampp的主要内容,如果未能解决你的问题,请参考以下文章

phpmyadmin 不适用于 xdebug、netbeans 和 xampp

ini 用于分析的活动Xdebug

PhpStorm XDebug 通过 ssh 隧道

VS Code launch.json Xdebug 配置,用于在 Windows Server 8 中逐步调试 PHP 页面

phpstorm —— Xdebug 的配置和使用

ubuntn下 nginx+phpstorm 中配置xdebug调试