我正在尝试正确设置Xdebug。使用这些设置,当我访问任何页面时,30秒后我都会收到504超时错误。(我使用ssh-隧道,所以我使用remote_host 127.0.0.1)
zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = req
xdebug.remote_host = 127.0.0.1
xdebug.remote_log = /home/ubuntu/xdebug-cgi.log
xdebug.idekey = "rsalazar"
xdebug.remote_port = 9000
一旦我能够获得这个xdebug日志输出,出于某种原因,它不再发布这个输出:
> Log opened at 2012-03-23 22:13:50 I: Connecting to configured
> address/port: 127.0.0.1:9000. I: Connected to client. :-)
> -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
> fileuri="file:///home/ubuntu/www/info.php" language="PHP"
> protocol_version="1.0" appid="3119" idekey="rsalazar"><engine
> version="2.2.0rc1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick
> Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2012 by Derick Rethans]]></copyright></init>
知道吗?
编辑:我已经确定只有当我在页面上启用调试时才会发生(当然,总是在我打开"remote_autostart"时发生)。。。我想猜测xdebug正在等待服务器连接(?)
您在路由器中打开了9000端口吗?我也遇到过同样的问题,直到我为进出港交通开放了港口。
我遇到了同样的问题。我注意到,一旦我使用sudo服务apache2 reload重新加载apache,测试php脚本就可以绑定到9000端口的套接字。这暗示php没有保持端口打开,也没有在apache启动后继续侦听。如果我发现什么,会发布更多。