Xdebug 在远程服务器上调试
我已经开始使用虚拟机来开发站点,而不是安装本地Web服务器。这使我可以轻松复制我将要部署到的服务器的确切设置。我为每个虚拟机设置了一个共享文件夹,它允许我在本地存储文件,同时能够在虚拟机上运行代码。我错过的一件事是使用xdebug通过Netbeans调试站点的能力,所以我开始尝试设置虚拟主机以允许我远程使用xdebug。
所需要做的就是在PHP配置中找到的文件中添加一个xdebug.remote_connect_back子句xdebug.ini。将此值设置为1以自动连接回在服务器上创建的任何xdebug会话。
xdebug.remote_connect_back=1
请记住,您还需要在系统上设置正确的hosts指令,以允许您的Web浏览器打开并接受xdebug会话。此外,因为我使用的是虚拟机,所以我永远无法确定主机的IP地址是否相同。为此,应删除xdebug.remote_host子句,以便xdebug与IP地址无关。我仍然需要时不时地调整我的主机文件,但我不需要编辑xdebug.ini文件并重新启动Apache。
我应该在这里注意,如果您在服务器上执行此操作,则删除该xdebug.remote_host子句将意味着任何人都可以在服务器上创建xdebug会话。这有点安全问题。
这是我的虚拟服务器上的xdebug配置的完整内容。第一个子句(对于xdebug二进制文件)可能与您的设置不同。
zend_extension=/usr/lib/php5/20100525/xdebug.so xdebug.remote_enable=1 xdebug.remote_port=9000 xdebug.remote_handler="dbgp" xdebug.remote_connect_back = 1
如果你有一个开发服务器,那么你应该记住xdebug一次只能创建一个调试会话。