使用XDebug设置IntelliJ Idea远程调试

时间:2013-10-05 21:31:42

标签: php debugging intellij-idea xdebug

我一直试图连续几天在IntelliJ Idea和Xdebug中设置远程调试,但没有成功。

我有Windows 7主机和VM VirtualBox,Windows XP作为Web服务器。它安装了使用Apache,PHP和Xdebug的WampServer。

Xdebug配置正确:

Summary
Xdebug installed: 2.2.3
Server API: Apache 2.0 Handler
Windows: yes - Compiler: MS VC9 - Architecture: x86
Zend Server: no
PHP Version: 5.4.16
Zend API nr: 220100525
PHP API nr: 20100525
Debug Build: no
Thread Safe Build: yes
Configuration File Path: C:\WINDOWS
Configuration File: C:\wamp\bin\apache\apache2.4.4\bin\php.ini
Extensions directory: c:\wamp\bin\php\php5.4.16\ext

Web服务器和PHP工作正常,没有任何问题。

以下是我在Intellij中设置远程调试的步骤:

文件>设置 - > PHP->服务器 enter image description here

运行/调试配置: enter image description here

php.ini xdebug section:

[Xdebug]
zend_extension = "c:\wamp\bin\php\php5.4.16\zend_ext\php_xdebug-2.2.3-5.4-vc9.dll"
;xdebug.profiler_enable=1
xdebug.profiler_output_dir="c:\wamp\tmp"
xdebug.remote_autostart=1
xdebug.remote_enable=1
;xdebug.remote_handler=dbgp
;xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=192.168.56.1
;xdebug.idekey="intellij"

这些评论是我试图打开/关闭但没有成功的。

当我从IntelliJ开始调试会话时,它会打开一个地址为"http://192.168.56.101/index.php?XDEBUG_SESSION_START=some id"的浏览器,而调试器会开始等待相同的ID。

我已经尝试过: - 禁用/调整防火墙 - 更改默认侦听端口 - 从浏览器手动启动调试器设置“远程调试配置”模板 和许多其他人。

我使用嗅探器确保我的主机在端口9000上收到了一些东西:它确实从服务器接收了62个字节:

enter image description here

enter image description here

但没有数据。这是正常的吗?请给我一个提示进一步挖掘的提示?

提前谢谢大家。

2 个答案:

答案 0 :(得分:1)

通过使用XAMPP而不是WampServer重新安装Web服务器,问题终于得到了解决。当然它没有给我确切的答案,导致之前的配置失败,但无论如何,现在它的工作原理,我对此非常满意。

答案 1 :(得分:0)

  

在intelliJ IDEA中安装xdebug 1st   在Windows wamp上的smartJ IDEA上的xdebug的正确设置是看起来   对于php.ini文件,在zend扩展名粘贴后,在底部找到xdebug   然后重启wamp服务器   它非常适合我



[xdebug]
xdebug.remote_enable = On
xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = On
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/wamp/tmp"
xdebug.show_local_vars=0
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_autostart=0