通过SSH隧道进行远程调试:接收;在套接字y上发送x字节时出现问题:“管道断开”;

通过SSH隧道进行远程调试:接收;在套接字y上发送x字节时出现问题:“管道断开”;,ssh,phpstorm,ssh-tunnel,Ssh,Phpstorm,Ssh Tunnel,其想法是设置“通过SSH隧道进行远程调试”。更详细地说:我们在我的Windows PC上本地运行PhpStorm。在远程Centos服务器上运行Xdebug。我们使用SSH隧道选项通过Putty连接 我们遵循以下指南: 问题是,如果我们在远程服务器上使用XDEBUG\u CONFIG=idekey=phpstorm php myscriptcommand.php启动CLI调试,我们会在ssh屏幕中收到如下错误 xxxx.xx:在套接字4上发送318字节时出现问题:管道断裂 Netstat向我们

其想法是设置“通过SSH隧道进行远程调试”。更详细地说:我们在我的Windows PC上本地运行PhpStorm。在远程Centos服务器上运行Xdebug。我们使用SSH隧道选项通过Putty连接

我们遵循以下指南:

问题是,如果我们在远程服务器上使用
XDEBUG\u CONFIG=idekey=phpstorm php myscriptcommand.php
启动CLI调试,我们会在ssh屏幕中收到如下错误
xxxx.xx:在套接字4上发送318字节时出现问题:管道断裂

Netstat向我们展示

prompt on server$ netstat -a -n | grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN
tcp        0      1 remote_server_ip:47160     66.249.79.197:9000      SYN_SENT

问题:我们如何防止管道破裂或出现问题?

此问题通过将默认端口更改为自由端口(在本例中为9001)得到解决。php fpm在端口9000上运行


xdebug的端口(putty/ssh隧道和phpstorm中的)都需要更新为端口:9001(或另一个自由端口)

我也遇到了同样的问题,并发现xdebug已经启动了默认的远程调试

我的Phpstorm也打开了,xdebug的DBGP协议在数据接收过程中被阻塞了

xdebug.remote\u autostart=1


我在我的博客上记录了这个过程:

不是SSH专家,所以这里可能完全错误。但是,尝试使用不同的端口(例如9001)进行所有Xdebug通信,以防它与您可能安装在那里的php fpm冲突(默认情况下它使用9000)。这就是它,我将作为答案传递给您