对于php5.3 及更高版本的 Windows,您需要在 php.ini 文件中使用zend_extension
而不是。zend_extension_ts
例子
zend_extension="C:\xampp\php\ext\php_xdebug.dll"
如果您使用 xdebug 向导http://xdebug.org/wizard.php并收到此消息
Xdebug 仅作为 PHP 扩展加载,而不是作为 Zend 扩展加载
这是因为使用了 zend_extension_ts(我认为)。
还有一点需要注意。
如果您不在正在测试的代码中设置断点,您将不会在记事本中看到任何内容。它运行得如此之快,以至于它看起来好像不起作用(如果你仔细观察,notepad plus 会闪烁)。我花了很长时间才意识到这一点。
第三
我建议从http://xdebug.org/download.php为您的系统下载最新的 xdebug.dll
xdebug 自 [2012-05-08] 以来仅与 php 5.4 兼容- Xdebug 2.2.0 最新版本是 Xdebug 2.2.1
我还建议使用来自http://sourceforge.net/projects/npp-plugins/files/DBGP%20Plugin/的最新版本的 DBDG 插件(notepad plus 需要此文件才能与 Xdebug 一起使用)
另一件事
编辑:刚刚注意到您使用 XAMPSERVER,但我会留下它,以防它对其他人有用。如果您使用的是 wampserver 2.2,则预先安装了 xdebug。如果您稍后再次手动安装 xdebug 并设法安装了 2 个版本或类似的东西,这可能会导致问题。
我最后一个用于 xdebug 的 php.ini 文件
请注意我的上一个版本正在运行,尽管速度很慢。在 php.ini 中,我将 ide 设置为 xdebug,但我可以将其命名为任何我想要的会话名称,并且它有效。您可能不需要我在下面发布的所有信息,您很可能需要更改文件路径和文件名。我用的是D盘。
[xdebug]
;for windows with php5.3 and up you need to use zend_extension instead of zend_extension_ts
zend_extension="D:\wamp\bin\php\php5.4.3\ext\php_xdebug-2.2.1-5.4-vc9-x86_64.dll"
xdebug.remote_autostart=on
xdebug.profiler_output_dir = "d:/wamp/tmp/xdebug"
xdebug.profiler_output_name = "cachegrind.out.%p"
xdebug.profiler_enable = 1
xdebug.profiler_append=0
xdebug.extended_info=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.idekey=xdebug
xdebug.remote_log="d:/wamp/tmp/xdebug/xdebug_remot.log"
xdebug.show_exception_trace=On
xdebug.show_local_vars=9
xdebug.show_mem_delta=0
xdebug.trace_format=0
最后
不要忘记?XDEBUG_SESSION_START=sessionname
在要测试的代码的 url 地址末尾使用。
例子
http://localhost/codetotest.php?XDEBUG_SESSION_START=xdebug
在进行任何更改后还要重新启动服务器的服务,否则它们将不会生效。