【问题标题】:php ssh2_scp_send inside a for-loop fails for the second time onwardsfor循环内的php ssh2_scp_send第二次失败
【发布时间】:2016-02-29 08:12:41
【问题描述】:

我有一个包含 2 个文件的文件夹。当我运行以下代码时,它适用于第一个循环,但第二次之后它失败并显示警告为 - 警告:ssh2_scp_send():创建远程文件失败:意外通道关闭/var/www/html/..../newCheck.php

我也在 Linux 平台上运行它并尝试将文件传输到 Windows(目标)。

foreach($results as $key => $val)   {
        if(!is_dir($val))   {
            $valArr =   explode('/',$val);
            $filename   =   array_pop($valArr);
            ssh2_scp_send($conn,'/var/www/html/Portal/'.$filename, 'D:/'.$filename, 0644);

        }
    }

有什么想法吗?

【问题讨论】:

  • 把你的$results数组也放进去,你试过回显$filename吗?文件名是否正确??

标签: php windows scp libssh2


【解决方案1】:

我可以自己解决问题 - 这是解决方案-

foreach($results as $key => $val)   {
        if(!is_dir($val))   {
            $valArr =   explode('/',$val);
            $filename   =   array_pop($valArr);

            $conn = ssh2_connect('x.x.x.x', 22);  
            ssh2_auth_password($conn, 'username', 'password');  
            ssh2_scp_send($conn,'/var/www/html/Portal/'.$filename, 'D:/'.$filename, 0644);
            ssh2_exec($conn, 'exit');
        }
}

【讨论】:

    猜你喜欢
    • 2013-12-13
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 2016-12-19
    • 2020-07-30
    相关资源
    最近更新 更多