3

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 "successful".$debug_line_feed;

当我运行它时,它输出“成功连接”,“上传文件”然后挂起。知道如何解决这个问题吗?

我也尝试使用 ssh2_scp_recv 进行下载,但它也挂起,本地文件被创建为 0 字节文件。

4

2 回答 2

3

我的猜测是服务器安装了一个监狱外壳。那时 SCP 将无法工作,但 SFTP 会。

于 2015-08-31T20:34:43.737 回答
1

最近,我使用 sftp 发送文件,linux 到 windows,ssh2_scp_send 不起作用,我解决了使用问题

$sftp = ssh2_sftp($conn);
 $contents = file_get_contents($localPath);
 $result = file_put_contents("ssh2.sftp://{$sftp}/{$remotePath}", $contents);

然后工作

于 2016-12-02T03:45:24.980 回答