PHP 5 SSH2功能

时间:2011-07-11 16:52:43

标签: php ssh libssh2

我在CentOS WHM / CPanel服务器上安装并启用了SSH2,这是来自PHP INFO:

SSH2 启用S​​SH2支持 扩展版本0.11.2 libssh2版本0.18 banner SSH-2.0-libssh2_0.18 远程转发已启用 基于hostbased的auth启用 启用了轮询支持 启用了publickey子系统

已注册的PHP Streams 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]:未能   open stream:第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");

2 个答案:

答案 0 :(得分:4)

您似乎已为保存文件的位置指定了目录,而不是文件名。

答案 1 :(得分:3)

请检查'/ home / pathtoDLfile'和'/ home / pathtoLocationDestination'以确保它们是文件名,而不是目录。

特别注意目标位置('/ home / pathtoLocationDestination')需要是文件名,而不仅仅是目录路径。如果当前仅指定了目录名,则可以将所需的文件名附加到路径中。