0

我尝试使用 ssh2 连接到 sftp 服务器,但似乎 php 陷入了循环。错误报告已开启。

我的代码:

$connection = ssh2_connect('my-server.url', 22);
var_dump($connection);
if (ssh2_auth_password($connection, 'username', 'password'))
{
    echo "Authentication success";
    if( ssh2_scp_recv($connection, "/throw_me_an_error/", "/somewhere/" ) )
    {
        echo "file recived";
    }
    else
    {
        echo "error";
    }
}
else 
{
    echo "Authentication failure";
}

生成此输出:

resource(7) of type (SSH2 Session)
Authentication success

但是一旦脚本尝试运行 ssh2_scp_recv 它就会卡住并永远运行而没有任何失败。我尝试了现有和不存在的文件。每次相同的结果 - 脚本循环运行。

即使我尝试 ssh2_exec 或其他需要在服务器上写入或读取的方法,它不仅是 ssh2_scp_recv,它也会卡住。

这里发生了什么?

谢谢!

4

1 回答 1

3

phpseclib 是一个纯 PHP SSH 实现,您可能会更幸运。

于 2011-10-05T22:27:08.787 回答