我正在尝试使用 $sftp-put(); 将 PDF 文档从阶段服务器上传到远程位置;
CODE:
$sftp = new SFTP($config::SFTP_SERVER);
// login to remote server
if (!$sftp->login($config::SFTP_USER, $config::SFTP_PASSWORD)) {
throw new Exception('Login failed');
}
// move to relevant directory
$sftp->chdir('fatca');
// upload file
$uploadFile = $sftp->put('test-pdf-upload.pdf', '/srv/www/vhosts/stage.johno.com/fatca/src/uploads/pdfs/345-553453-434__05122017_16:45:26.pdf', NET_SFTP_LOCAL_FILE);
// Error checking for local env only
var_dump($uploadFile);
var_dump($sftp->getSFTPLog());
我期望查看相同的 PDF,其中包含用户数据和一些用户上传的图像。我还确认原始 PDF 已在临时服务器上成功创建,它完好无损并显示相关信息。
生成的文件是在新的远程服务器位置创建的,但已损坏/无法读取。
输出来自var_dump($sftp->getSFTPLog());
也不令人鼓舞:
bool(false)
我在这里做错了什么?感觉我已经很好地遵循了 phpseclib 文档...尽管这是在屏幕前度过的漫长岁月之一!
一如既往地非常感谢任何建议。
您正在使用 phpseclib 2.0。我可以告诉你,因为你正在做new SFTP()
代替new Net_SFTP()
。对于2.0你需要做SFTP::SOURCE_LOCAL_FILE
. eg.
$uploadFile =
$sftp->put(
'test-pdf-upload.pdf',
'/srv/www/vhosts/stage.johno.com/fatca/src/uploads/pdfs/345-553453-434__05122017_16:45:26.pdf',
SFTP::SOURCE_LOCAL_FILE);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)