1

我花了几个小时让 XDebug 与 Intellij 一起工作,但不幸的是没有运气。

我的设置如下。我在 Windows 7 机器上,我安装了 Intellij 12。我的 PHP 站点在 Vmware 虚拟 Linux (debian) 机器上运行。

我在 php.ini 中配置了以下 Xdebug 设置。

; xdebug settings
zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_mode=req
xdebug.profiler_enable=1
;xdebug.profiler_output_dir="/usr/lib/php5/xdebug-output"
xdebug.remote_host=192.168.1.71
xdebug.show_exception_trace=On
xdebug.remote_handler=dbgp
xdebug.remote_connect_back=1
  • 192.168.1.71 是我的虚拟服务器的 IP,但我也试过 www.local-example.com。
  • 该站点运行正常(我将 IP 映射到 www.local-example.com)
  • phpinfo() 告诉我 PHP 配置了 xdebug:(Zend Engine v2.3.0,版权所有 (c) 1998-2010 Zend Technologies with Xdebug v2.2.3,版权所有 (c) 2002-2013,作者 Derick Rethan
  • 当我 var_dump 某些东西时,它会被 xdebug 很好地格式化,所以这部分可以工作。
  • 我通过http://xdebug.org/wizard.php上的向导运行了我的 phpinfo() 输出,并成功地按照建议的步骤操作。
  • 我在这里仔细查看了流程图:https ://netbeans.org/project_downloads/www/php/debug-setup-flowchart.pdf
  • 我在以下 url 复制了脚本并从命令行运行它:https ://blogs.oracle.com/netbeansphp/entry/howto_check_xdebug_installation 。当我启动脚本时,什么都没有发生,所以我想它正在监听连接(我不太懂 Linux :)。当我随后使用 XDEBUG_SESSION_START=mysession 参数请求我的站点页面之一时,页面加载,但速度很慢。

当我在 PHP.ini 中启用 xdebug 设置时,真正发生的事情是我的网站变慢了。

您可能想知道为什么我将 Intellij 放在标题中。我试图从 Intellij 连接到 xdebug。但我离开了 intellij,因为我认为我的基本 xdebug 设置有问题。

您的帮助将不胜感激。

4

2 回答 2

1

Windows wamp 上 intelliJ IDEA 上 xdebug 的正确设置是查找 php.ini 文件,在底部找到 xdebug,

[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
于 2014-09-29T21:37:14.740 回答
0

您使用的 IP 应该是运行 IDE 的机器的 IP -而不是带有 PHP/Xdebug 的机器。Xdebug 充当客户端,IDE 充当服务器,为了让 Xdebug 连接到 IDE/服务器,它需要知道它的 IP 地址。

或者,您可以设置 xdebug.remote_conneck_back=1 让 Xdebug 使用发出浏览器请求的机器的 IP(通常与带有 IDE 的机器/IP 相同)。

于 2013-07-03T09:06:03.263 回答