我会尽量详细说明情况,但这让我困惑了太久。
我有一个在 Win7 主机上运行的 Ubuntu Server 12.04 来宾。我为 VBox 配置了 2 个 NIC:一个用于与外界通信的 NAT 适配器和一个用于为主机和来宾创建专用网络以进行通信的 Host-Only 适配器。LAMP 堆栈是 Ubuntu Server 12.04 提供的默认堆栈。来宾可以识别 NIC,并且 Host-Only NIC 具有静态 IP 配置。主机称为 192.168.56.1,来宾称为 192.168.56.101。我使用本指南进行设置。ifconfig
显示两个适配器。我通过 ping 测试了主机是否可以访问,我确实收到了回复。
我的一切工作正常:MySQL、PHP、Apache2、APC、共享文件夹挂载,并且该项目可以访问并尽可能快地加载。
这就是 xdebug 发挥作用的地方。只要我禁用远程调试器或告诉 xdebug 我的远程主机是 localhost,项目就会以不错的速度加载。但是,一旦我告诉 xdebug 远程主机不是 localhost 或者它应该连接回任何请求,页面加载似乎会在最终交付结果之前挂起几分钟。
我使用 Symfony2 开发,它有一个漂亮的开发人员工具栏,这个工具栏实际上告诉我页面加载花了 1174 毫秒。这让我怀疑它可能是 xdebug 和 Apache 玩得不好。以下是我尝试使用 xdebug 的非常基本的配置:
zend_extension=/usr/lib/php5/20090626/xdebug.so
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
;xdebug.remote_connect_back=on
xdebug.remote_host=192.168.56.1
xdebug.remote_port=9000
xdebug.remote_log = /var/log/xdebug.log
对于可能导致此问题的原因,我完全一无所知,非常感谢任何帮助。提前致谢!