我正在尝试使Xdebug远程调试工作,我的IDE是PHPStorm。 我的Web服务器/代码托管在远程机器(Amazon EC2)上。
我在远程服务器的php.ini文件中有以下几行(因为我正在进行PHPUnit调试,所以使用PHP CLI):
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_connect_back = 1
xdebug.remote_port = 9000
由于我是从家庭网络编程,所以我在我的个人路由器上打开了端口9000。我将PHPStorm的xdebug服务器设置为指向端口80上的远程服务器,并使用Xdebug作为其调试器。
现在,当我尝试从PHPStorm调试PHPUnit测试时,它只显示“等待带有IDE密钥'12115'的传入连接”,但每次都会选择一个随机的IDE密钥(我希望PHPUnit正在在服务器本身上设置idekey)。
我已经尝试了超过10个小时让它工作,我尝试在php.ini中定义特定的remote_host而不是使用remote_connect_back,但这也不起作用。我尝试在php.ini中设置idekey,但也不起作用。
有没有办法确认Xdebug在Web服务器端按预期运行?我如何在不使用Phpstorm的情况下测试我的Xdebug设置?我不知道是我家庭网络和远程服务器之间的连接问题还是其他什么问题。
任何帮助缩小问题范围的指导都将是很棒的。