XDebug没有在Windows 7 64位PHP 5.4上加载

时间:2012-04-04 22:08:59

标签: php xdebug

我在apache上运行php。我已经下载了我认为正确的xdebug编译的dll for php version 5.4 64 bit windows。我启用了线程安全,它使用的是VC9。我已经下载了dll并将其放在这里:

C:\php5\extras\php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll

以下是我在php.ini中的内容:

[xdebug]
zend_extension = "C:\php5\extras\php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll"

当我启动Apache时,我收到此错误:

[Wed Apr 04 17:01:56 2012] [notice] Parent: Received restart signal -- Restarting the server.
Failed loading C:\php5\extras\php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll
hild process is ending.
[Wed Apr 04 17:01:56 2012] [notice] Apache/2.2.22 (Win32) PHP/5.4.0 configured -- resuming normal operations
[Wed Apr 04 17:01:56 2012] [notice] Server built: Jan 28 2012 11:16:39
[Wed Apr 04 17:01:56 2012] [notice] Parent: Created child process 2120
[Wed Apr 04 17:01:57 2012] [notice] Child 2120: Child process is running
[Wed Apr 04 17:01:57 2012] [notice] Child 2120: Acquired the start mutex.
[Wed Apr 04 17:01:57 2012] [notice] Child 2120: Starting 64 worker threads.
[Wed Apr 04 17:01:57 2012] [notice] Child 5624: Released the start mutex
[Wed Apr 04 17:01:58 2012] [notice] Child 5624: All worker threads have exited.
[Wed Apr 04 17:01:58 2012] [notice] Child 5624: Child process is exiting
Failed loading C:\php5\extras\php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll

8 个答案:

答案 0 :(得分:53)

为了确保您已经下载了正确的二进制文件,您可以使用http://xdebug.org/wizard.php处的向导它将准确地告诉您要下载哪个文件以及您应该在哪个php.ini文件中放置zend_extension行(当然,你正在使用正确的,因为你得到了“加载失败”的错误)。

答案 1 :(得分:19)

好的,它现在正在工作,我想我知道出了什么问题。我使用的是64位版本的PHP,但是32位版本的Apache和64位版本的xdebug。我重新开始使用Apache 2.4 32位,因为似乎没有带有php5模块的64位版本。所以,我确保我拥有32位版本的一切。我正在使用php5.4与VC9,线程安全。

此博文有助于设置它: http://lifeofageekadmin.com/how-install-apache-2-4-php-5-4-and-mysql-5-5-21-on-windows-7/

答案 2 :(得分:12)

我终于开始工作了。 按照xdebug网站上的说明,我使用了向导并将dll文件下载到'ext'目录。然后该向导告诉我将此行添加到我的php.ini文件中:zend_extension=ext\php_xdebug-2.3.3-5.6-vc11.dll

这给了我上面看到的错误:Failed loading ext\php_xdebug-2.3.3-5.6-vc11.dll

我也尝试用正斜杠替换反向斜杠,但是这个消息失败了:Failed loading ext\ext/php_xdebug-2.3.3-5.6-vc11.dll

查看最后一条消息,我想可能是扩展目录导致了问题,我在php.ini文件中看到了这一行:extension_dir = "ext"

所以我改为使用:zend_extension=php_xdebug-2.3.3-5.6-vc11.dll 它有效!!

答案 3 :(得分:4)

好的,我知道这是一个非常古老的僵尸线程,但最近我自己解决了这个问题,结果却是一个简单的解决方案。

PHP.INI要求对目录使用转发斜杠,而在Windows下安装XDebug的说明使用反斜杠。因此,对于上述原始问题,解决方案是将zend_extension行更改为:

zend_extension =" C:/php5/extras/php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll"

希望这有帮助。

答案 4 :(得分:4)

在最新版本的xampp中,您只需向zend_extension=xdebug添加php.ini,例如:

zend_extension=xdebug
[XDebug]
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "c:\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "c:\xampp\php"
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_connect_back=on
xdebug.remote_port=9000
xdebug.remote_mode=req
xdebug.idekey="PHPSTORM"

答案 5 :(得分:1)

查看C:\php5\ext,看看php_xdebug.dll是否在那里。如果没有,请尝试将php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll重命名为php_xdebug.dll并将其放入C:\php5\ext,然后将php.ini添加更改为:

[xdebug]
zend_extension = "C:\php5\ext\php_xdebug.dll"

答案 6 :(得分:0)

有同样的问题。对我来说,我需要引号中zend_extension的绝对路径(但反斜杠很好)。

答案 7 :(得分:0)

我有Windows 7 64位和php v5.4.4,但我需要下载的x-debug版本是:

PHP 5.4 VC9(32位)(MD5:ffeb0215621d330fa53b249f0930ffae)

因为IIS无法使用xdebug 64bit

也是我的php.ini说明:

[Xdebug]
zend_extension="C:\Program Files (x86)\iis express\PHP\v5.4\ext\php_xdebug-2.4.0rc4-5.4-vc9-nts.dll"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.profiler_enable=1
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "C:\temp\php"
xdebug.profiler_output_dir="C:\temp\php"