php ssh2_scp_send 在 for 循环中第二次失败
php ssh2_scp_send inside a for-loop fails for the second time onwards
我有一个文件夹,其中有 2 个 files.When 我是 运行 下面的代码,它适用于第一个循环,但第二次开始失败并显示警告 - 警告: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);
}
}
有什么想法吗?
我可以自己解决问题 -
这是解决方案-
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');
}
}
我有一个文件夹,其中有 2 个 files.When 我是 运行 下面的代码,它适用于第一个循环,但第二次开始失败并显示警告 - 警告: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);
}
}
有什么想法吗?
我可以自己解决问题 - 这是解决方案-
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');
}
}