php ssh2_scp_send在for循环内第二次失败


php ssh2_scp_send inside a for-loop fails for the second time onwards

我有一个文件夹,里面有两个文件。当我运行下面的代码时,它适用于第一个循环,但第二次以后它失败了,警告为-warning:sh2_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);
        }
    }

有什么想法吗?

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

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');
        }
}