我在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
答案 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"