使用php-ssh2构建一个docker容器。尝试使用php 7.2版
$con = ssh2_connect('hostname');
我去叫Error starting up SSH connection(-43): Failed getting banner
。有趣的是这里的43
。43
的意义是什么?那是什么意思?还有,你知道怎么解决这个问题吗?没有繁重的负载,手动运行连接。
发布于 2021-04-30 18:49:32
深入研究libssh2
这个数字-43
是直接来自libssh2
的错误代码,特别是LIBSSH2_ERROR_SOCKET_RECV
。Failed getting banner
消息是伴随错误代码的动态错误消息。这两条信息给出了抛出此错误的位置,即在receive_banner
中。
潜在问题
这是因为在初始化libssh2
会话的过程中,当socket试图从套接字读取数据时,会抛出接收错误。可能是服务器配置错误,没有发送标语,也可能是底层连接由于某种原因断开。
解决方案
对于这些类型的错误,最好的做法似乎是在适当的位置进行充分的重试。您正在连接的网络可能会失败。随着您要连接的服务器数量的增加,您将遇到底层网络导致的错误。充分的错误处理是您最好的行动方案。
您可以了解如何从PHP docs设置异常处理程序。
https://stackoverflow.com/questions/61257397
复制相似问题