使用ssh2_scp_send传输JPG文件时出现问题


Issue with JPG file transfer with ssh2_scp_send

我们正在将图像文件从一台服务器发送到另一台服务器。为此,我们使用PHP的ssh2库。

当发送png图像时,它可以正常工作,但当发送jpeg或任何txt文件时,它会在服务器上创建文件,但文件大小为0kb。

有人知道这个问题吗?

可能是缺少权限?SSH服务器可能会发回错误消息,但如果不知道它们是什么,就很难弄清楚你的问题是什么

我的建议是:使用phpseclib,一个纯PHP SSH实现,并发布日志。即

<?php
include('Net/SFTP.php');
define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);
$sftp = new Net_SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
    exit('Login Failed');
}
// puts a three-byte file named filename.remote on the SFTP server
$sftp->put('filename.remote', 'xxx');
echo $sftp->getSFTPLog();
?>