Функция ssh2_scp_send () висит в php. Вот код:
$debug_line_feed = "\n";
$conn = ssh2_connect($sftp_server, 22);
$return = ssh2_auth_password($conn, $sftp_user_name, $sftp_user_pass);
if ($return===true) echo "successfull connection".$debug_line_feed;
echo "uploading file".$debug_line_feed;
$local_filename = $product_feed_file_with_path;
$remote_filename = 'product_feed.txt';
ssh2_scp_send($conn, $local_filename, $remote_filename);
echo "echo "successful".$debug_line_feed;
Когда я запускаю его, он выводит «успешное соединение», «загрузка файла», а затем зависает. Есть идеи, как это исправить?
Я также попытался загрузить файл с помощью ssh2_scp_recv, и он также зависает, когда локальный файл создается в виде 0-байтового файла.
Я предполагаю, что на сервере установлена оболочка тюрьмы. В этот момент SCP не будет работать, а SFTP будет работать.
в последнее время я использую sftp для отправки файла, linux для windows, ssh2_scp_send не работает, я решаю проблемы использования
$sftp = ssh2_sftp($conn);
$contents = file_get_contents($localPath);
$result = file_put_contents("ssh2.sftp://{$sftp}/{$remotePath}", $contents);
потом работает