从IntelliJ IDEA远程PHP调试

问题描述:

我有类似的问题Setting up IntelliJ Idea remote debugging with XDebug,但由于没有解决方案发布在那里,我会问它反正。从IntelliJ IDEA远程PHP调试

我有一个树莓派与Apache 2,PHP,xdebug设置和运行在本地网络上。

我有一个桌面IntelliJ IDEA和PHP插件运行在同一本地网络。我已经成功通过IntelliJ与远程服务器建立了SSH连接,因此当我点击“运行”时,它会自动将本地文件上传到Raspberry Pi并打开显示php网站的浏览器。现在我想能够调试。我主要关注这个页面:https://www.jetbrains.com/help/idea/2016.3/configuring-xdebug.html,但它不工作。

当我点击调试浏览器打开?XDEBUG_SESSION_START=15930追加到URL,我看到我的PHP网站。在IntelliJ中,“调试器”窗口打开,并显示消息“正在等待使用ide密钥'15930'的传入连接”。每次我点击调试时这个数字都会改变,所以我没有在php.ini中设置xdebug.idekey

这是我的php.ini的内容:

[XDebug] 
zend_extension = /usr/lib/php5/20131226/xdebug.so 
xdebug.remote_enable=1 
xdebug.remote_port=9000 
xdebug.remote_mode=req 
xdebug.remote_host=192.168.2.108 
xdebug.show_exception_trace=On 
xdebug.remote_handler=dbgp 
xdebug.remote_conneck_back=1 

任何想法可能是错误的?使用防火墙设置来允许端口9000上的传入连接?

+0

感谢您的建议Yury,但它不起作用:/ – Benjamin

+0

1)收集xdebug日志这样不成功的调试会话(https://xdebug.org/docs/all_settings#remote_log),看看它会有什么说2)从'phpinfo()'输出提供您的xdebug设置3)https://confluence.jetbrains.com/display/PhpStorm/Debugging+with+PhpStorm – LazyOne

对于那些在同样问题中挣扎的人,通过检查您的服务器和客户端是否在指定的调试端口9000上进行适当的连接可以找到答案。因为在我的情况下,客户端和服务器之间有多个路由器,这些路由器中的端口转发选项有限,我有点放弃了这种方法。

取而代之,我在客户端安装了xampp,并进行本地调试而不是远程调试。