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_scp_recvだけでなく、サーバーでssh2_execまたはその他の書き込みまたは読み取りが必要なメソッドを試しても、スタックします。

何が起きてる?

ありがとう!

4

1 に答える 1

3

純粋な PHP SSH 実装である phpseclibを使えば、もっとうまくいくかもしれません。

于 2011-10-05T22:27:08.787 に答える