为了账号安全,请及时绑定邮箱和手机立即绑定

如何在php中根据文件大小动态设置max_execution_time

如何在php中根据文件大小动态设置max_execution_time

PHP
GCT1015 2023-07-08 16:19:29
我在 Laravel 中有一份工作,使用 Laravel 文件系统将 .zip 文件从 ftp 服务器下载到本地磁盘。这些文件的大小从几 MB 到几 GB 不等。这是我当前的代码,只要我增加max_execution_time:public function handle(){    ini_set('max_execution_time', 300);    $destination = storage_path('app/temp/' . $this->import->unique_filename);    $ftpDisk = Storage::disk($this->import->disk);    $stream = $ftpDisk        ->getDriver()        ->readStream($this->import->filename);    file_put_contents($destination, stream_get_contents($stream), FILE_APPEND);        }是否有可能将下载的文件分成更小的块?或者另一个比将 max_execution_time 设置为最大值更好的选项?另一种方法是在 ftp 服务器上提取存档并逐个文件读取内容(csv/json 和图像)。
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

不建议在作业执行期间更改最大执行时间。相反,您可以将作业分派到队列中以运行下载等耗时的任务。

然后您可以运行队列工作命令,然后运行--timeout=0

php artisan queue:listen --timeout=0


查看完整回答
反对 回复 2023-07-08
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信