【问题标题】:PHP 5 SSH2 functionsPHP 5 SSH2 函数
【发布时间】:2011-07-12 01:06:53
【问题描述】:

我已经在我的 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");

【问题讨论】:

  • 您确定文件的路径正确吗? '/home/username/pathtoDLfile',也许吧?

标签: php ssh libssh2


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-09-18
      • 1970-01-01
      • 2011-07-09
      • 2012-04-10
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 2011-01-15
      相关资源
      最近更新 更多