Я пытаюсь создать каталоги и загружать рекурсивные файлы из некоторых локальных папок в двух foreach
петля.
Все вроде бы нормально ssh2_connect()
а также ssh2_auth_password()
верните истину.
Также создание папок в порядке. Папки создаются в удаленном режиме.
Но после этого, когда я пытаюсь загрузить файлы из этих папок на удаленный компьютер, я получил эту ошибку:
ssh2_scp_send(): supplied resource is not a valid SSH2 Session resource
Вот мой пример:
<?php
$sshRes = ssh2_connect('my_hostname.com', 22);
//both return true here
ssh2_auth_password($sshRes, $user_ssh, $pass_ssh);
$sftp = ssh2_sftp($sshRes);
$local_folders = glob($my_local_path."/*",GLOB_ONLYDIR);
$remote_base = "/remote_base";
foreach($local_folders as $local_folder){
$folder_name = basename($local_folder);
$remote_path = $remote_base."/".$folder_name;
if(!is_dir("ssh2.sftp://$sftp/$remote_path")){
if(ssh2_sftp_mkdir($sftp, $remote_path, 0755)){
echo "$remote_path created ok"}else{
echo "$remote_path creation failed";
}
}
$files = glob($local_folder."/*");
foreach($files as $local_file){
$file_name = basename($local_file);
//!!! here I got the error.!!!
if(ssh2_scp_send($sftp, $local_file, $remote_path."/".$file_name, 0644)){
echo "$file_name UPLOAD OK";
}else{
echo "$file_name UPLOAD FAIL";
}
}
}
?>
Кто-то может сказать мне, что не так?
Задача ещё не решена.
Других решений пока нет …