通过SSH隧道进行远程调试:收到“在套接字y上发送x字节时发生问题:管道损坏”

时间:2019-04-25 08:04:17

标签: ssh phpstorm ssh-tunnel

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

我们正在遵循以下指南: https://www.jetbrains.com/help/phpstorm/remote-debugging-via-ssh-tunnel.html

问题是,如果我们在远程服务器上使用XDEBUG_CONFIG=idekey=phpstorm php myscriptcommand.php启动CLI调试,则会在ssh屏幕中收到如下所示的错误 xxxx.xx: There was a problem sending 318 bytes on socket 4: Broken pipe

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

问题:我们如何防止发生折断的管子或这里出了什么问题?

2 个答案:

答案 0 :(得分:1)

通过将默认端口更改为空闲端口(在本例中为9001)解决了该问题。php fpm在端口9000上运行。

xdebug的端口(腻子/ ssh隧道和phpstorm中的端口都必须更新为port:9001(或另一个免费端口)

答案 1 :(得分:0)

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

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

  

xdebug.remote_autostart = 1

我将流程记录到我的博客中:https://tkstorm.com/posts-list/programming/php/xdebug-timeout-question/