2

我已经在我的 CentOS WHM/CPanel 服务器中安装并启用了 SSH2,这里来自 PHP INFO:

ssh2 SSH2 支持启用扩展版本 0.11.2 libssh2 版本 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 回答