我有一个大文件(200 MB 以上)。我需要通过 PHP cron 作业传输它。使用Phpseclib
给出以下错误:
/app/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 4133 字节)
有没有办法我可以做到这一点PHP cron job
?
代码很简单,其中 $localFile 是一个已经存在的 CSV 文件
$sftp->put('/Import/coupons/coupons_import_test.csv', $localFile, NET_SFTP_LOCAL_FILE);
附言。这需要在文件夹PHP
中生成该文件后完成,/tmp
因此传输脚本的时间必须发挥作用。
[编辑] 我不打算增加内存限制,因为以后的文件可能会更大。我可以分部分传输文件(附加模式)或使用带有 PHP cron 的一些 shell 脚本的解决方案可能是值得的
远程服务器上的文件大小为 111.4 MB,而本地的实际文件要大得多。
[修复后编辑] 从 1.0 版更改为 2.0.2 版后问题消失了 我不得不修改 put 的代码
$sftp->put('/Import/coupons/coupons_import.csv', $localFile, $sftp::SOURCE_LOCAL_FILE);