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设置,运行得很好。
答案 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