xDebug remote_connect_back不适用于AWS EC2实例

时间:2013-11-29 13:40:36

标签: php amazon-ec2 xdebug

EC2实例(使用Ubuntu 12.04)已设置 Apache 2.4.6 Php 5.5.6 + xDebug 2.2.2 。 Apache和PHP是使用make构建的。除xDebug外,一切正常。

日志文件和php.ini的内容

的php.ini

    zend_extension="/opt/php/lib/php/extensions/no-debug-zts-20121212/xdebug.so"
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.idekey=xdebug
    xdebug.remote_port=9000
    xdebug.remote_connect_back=1
    xdebug.remote_log="/tmp/xdebug_remote_log.log"
    xdebug.extended_info=1

/tmp/xdebug_remote_log.log

    Log opened at 2013-11-29 13:18:35
    I: Checking remote connect back address.
    I: Remote address found, connecting to 117.197.126.1:9000.
    E: Could not connect to client. :-(
    Log closed at 2013-11-29 13:18:36

我在本地CentOS 6.3机器上完全相同的Apache 2.4.6和PHP 5.5.6设置,运行得很好

3 个答案:

答案 0 :(得分:3)

根据您连接EC2实例的方式,您必须在计算机和EC2之间打开隧道。如果您无法在工作或家中将端口9000从EC2重定向到您的计算机(出于任何原因,例如安全性,无法在路由器中打开端口等等),则会出现这种情况。

从您的计算机(OSX或Linux)打开SSH隧道:

ssh -N -R 9000:localhost:9000 ubuntu@domain_or_ip

假设您已经安装了php5-xdebug,请在php.ini的末尾添加以下行:

xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000

然后重启apache:

service apache2 restart

端口9000应该成功重定向到netbeans(如果你使用Netbeans)或你的编辑器支持xdebug

希望这可以帮助某人

答案 1 :(得分:2)

这是我的DLink路由器阻止任何入站连接请求。

设置端口转发已解决此问题。

注意:仅为入站连接设置所需的端口。

答案 2 :(得分:0)

别忘了重启:

sudo service httpd restart