Laravel Maatwebsite大文件上传失败(导入文件上传失败)。

时间:2018-12-26 14:26:52

标签: php laravel maatwebsite-excel

我正在创建一个系统,用于将所有数据从excel / csv工作表上传并保存到数据库。 小型文件可以正常工作,但是每当我尝试上传250MB,500MB等大文件时,都会出现错误

导入文件上传失败。

我将php.ini文件中的My Post Max限制升级到1GB。 最大内存使用量,最大执行时间。但是什么都没有。

我与Laravel一起使用的插件是Maatwebsite

3 个答案:

答案 0 :(得分:0)

尝试对导入进行分块或批处理:https://laravel-excel.maatwebsite.nl/3.1/imports/chunk-reading.html

以下是文档指南中的示例:

namespace App\Imports;

use App\User;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithChunkReading;

class UsersImport implements ToModel, WithChunkReading
{
    public function model(array $row)
    {
        return new User([
            'name' => $row[0],
        ]);
    }

    public function chunkSize(): int
    {
        return 1000;
    }
}

答案 1 :(得分:0)

尝试在php.ini中设置upload_max_filesize和post_max_size的值:

;上载文件的最大允许大小。

upload_max_filesize = 500M

;必须大于或等于upload_max_filesize

post_max_size = 500M

但不建议这样做,因为它可能导致服务器过载。

答案 2 :(得分:0)

在.env文件中设置QUEUE_DRIVER = database

上传大型Excel文件时,我总是收到“ 504超时”消息。 但是使用“ QUEUE_DRIVER =数据库”,它可以完美上传。