2

CentOS WHM / CPanelサーバーにSSH2をインストールして有効にしました。これは、PHPINFOからのものです。

ssh2SSH2サポート有効拡張バージョン0.11.2libssh2バージョン0.18バナーSSH-2.0-libssh2_0.18リモート転送有効ホストベース認証有効ポーリングサポート有効公開キーサブシステム有効

登録済みのPHPストリームhttps、ftps、compress.zlib、php、file、glob、data、http、ftp、ssh2.shell、ssh2.exec、ssh2.tunnel、ssh2.scp、ssh2.sftp

ただし、SSH2 PHP関数を使用してファイルを受信しようとすると、次のようになります。

警告:ssh2_scp_recv(/ home / XXXX)[function.ssh2-scp-recv]:ストリームを開くことができませんでした:16行目の/pathtoFileにディレクトリがあります

コードは次のとおりです。

if($connection = ssh2_connect('www.server.com', 22)){
    echo("connected");
}else{
    echo("NOT connected");
}

if(ssh2_auth_password($connection, 'username', 'mypassword')){
    echo("password ok");
}else{
    echo("password WRONG");
}

if(ssh2_scp_recv($connection, '/home/pathtoDLfile', '/home/pathtoLocationDestination')){
    echo("received");
}else{
    echo("NOT received");
}

echo("end");
4

2 に答える 2

4

ファイル名ではなく、ファイルを保存する場所のディレクトリを指定したようです。

于 2011-07-11T16:54:58.440 に答える
3

'/ home/pathtoDLfile'および'/home / pathtoLocationDestination'をチェックして、それらがディレクトリではなくファイル名であることを確認してください。

特に、宛先の場所('/ home / pathtoLocationDestination')は、ディレクトリパスだけでなく、ファイル名である必要があることに注意してください。現在ディレクトリ名のみを指定している場合は、パスに目的のファイル名を追加できます。

于 2011-07-11T16:55:43.447 に答える