我在CentOS WHM / CPanel服务器上安装并启用了SSH2,这是来自PHP INFO:
SSH2 启用SSH2支持 扩展版本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");
答案 0 :(得分:4)
您似乎已为保存文件的位置指定了目录,而不是文件名。
答案 1 :(得分:3)
请检查'/ home / pathtoDLfile'和'/ home / pathtoLocationDestination'以确保它们是文件名,而不是目录。
特别注意目标位置('/ home / pathtoLocationDestination')需要是文件名,而不仅仅是目录路径。如果当前仅指定了目录名,则可以将所需的文件名附加到路径中。