无法在 XAMPP 和 Windows XP 上安装 Xdebug

Posted

技术标签:

【中文标题】无法在 XAMPP 和 Windows XP 上安装 Xdebug【英文标题】:Can't install Xdebug on XAMPP and Windows XP 【发布时间】:2013-07-02 05:02:04 【问题描述】:

我知道,这个问题已经被问过好几次了,但答案并没有解决我的问题。

我在 Windows XP SP3 上运行 XAMPP 1.8.2 并且正在努力安装 XDebug。

我从网站下载了 XDebug。不幸的是,安装向导对我不起作用,我的 php 版本是 5.4.16,所以我选择了 PHP 5.4 VC9 TS (32 bit) 的文件。

我根据不同的教程配置了我的php.ini:

[XDebug]
zend_extension_ts = "D:\Stefan\xampp\php\ext\php_xdebug-2.2.3-5.4-vc9.dll"
xdebug.remote_enable = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_mode=req
xdebug.remote_port = 9000
xdebug.remote_autostart = 1

重新启动 apache 时,phpinfo() 中不会显示其他条目。我检查了没有其他调试或加速模块被激活,并且还尝试更改 Xdebug 端口,但没有任何效果。

Apache 和 Windows 错误日志不包含与此问题相关的任何条目。

有什么提示吗?

【问题讨论】:

你安装了线程安全版本的 PHP 吗? 是的。我的php.ini 说:Thread Safety enabled 为什么要下载 XDebug? XAMPP 应该带有它自己的 dll 是否加载了其他 Zend 扩展? XAMPP 附带的 dll 不起作用(同样的问题),所以我尝试手动下载它。没有加载任何其他 zend_extensions。 【参考方案1】:

好的,同样的问题,但我解决了问题

Download it HERE , if you want BUT

Xampp 1.8.2 不再需要 Xdebug 因为,Xampp 1.8.2 有 Xdebug.dll !!!

看起来像这样:

zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
zend_extension_ts = "C:\xampp\php\ext\php_xdebug-2.2.3-5.4-vc9.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 0
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "C:\xampp\tmp"

很抱歉我的英语不好......

【讨论】:

【参考方案2】:

检查 .dll xdebug 文件的安全选项。如果您在文件的图标上看到小锁图标 - 除了您之外没有人可以使用此文件。在这种情况下,在文件属性的安全选项卡中添加用户组。

【讨论】:

【参考方案3】:

XAMMP 附带的 XDebug.dll 中似乎存在错误。

从xdebug网站下载TS版本

并像这样配置

zend_extension = "D:\Stefan\xampp\php\ext\php_xdebug-2.2.3-5.4-vc9.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "D:\Stefan\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 0
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "D:\Stefan\xampp\tmp"

【讨论】:

当我使用不带“ts”的zend_extension时,启动apache时出现以下错误:imgur.com/1dOKL4H 英文是“动态链接库php5ts.dll中找不到程序入口点“zend_unmangle_property_name_ex”” 试试 XAMPP 自带的 XDebug ddl 并使用 zend_extension。 更新了我的答案..应该可以解决问题! 您指定的版本 php_xdebug-2.2.3-5.4-vc9.dll 是唯一有效的版本。我尝试了其他变体(vc9 和 vc11、标准和 x86_64),它们要么在启动 Apache 时出错,要么在我尝试调试时在 NetBeans 中显示“加载失败”消息(它不会在断点处停止)。谢谢!!!【参考方案4】:

这是混淆使用哪个php.ini的常见问题,看看apache使用哪个php.ini。您可能正在编辑错误的 ini 文件。

phpinfo()中寻找加载的配置文件

有时它会从

加载

..\bin\apache\Apache#.#.#\bin\php.ini

代替

...\bin\php\php#.#.#\php.ini

【讨论】:

谢谢,我知道这个潜在的问题,并已对其进行了三重检查。我肯定在编辑正确的 ini 文件(并且没有其他文件)

以上是关于无法在 XAMPP 和 Windows XP 上安装 Xdebug的主要内容,如果未能解决你的问题,请参考以下文章

警告:mail() [function.mail]:无法在“localhost”端口 25 连接到邮件服务器,请验证您的“SMTP”和“smtp_port”,Windows XP 的 XAMPP

在 Win XP 64 位上,无法连接到 XAMPP 下的本地 apache 安装。帮助!

XAMPP错误解决方案?我在我的 Windows XP 双启动机器上安装了它

适用于 Windows XP Professional 的 WAMP 或 XAMPP

XAMPP 没有在 XP 上启动 Apache

在 Windows 上安装后无法运行 pear 命令