我正在尝试使用基于 PHPExcel 的Maatwebsite/laravel-excel库将 excel 文件导入 Laravel 5.4 上的 MySQL 数据库。
我需要导入的文件非常大:至少 50k 行 100 列,我需要为每一行创建一个数据库条目。
我想我可能在导入过程中遇到了一些问题,所以我开始使用块,但是即使是 1 个块,我也会收到以下错误消息:
超过 180 秒的最大执行时间。
我试图增加max_execution_time
变量和内存限制,但我似乎仍然无法完成导入。
这是我正在使用的代码:
Excel::filter('chunk')->load($request->file('source_file')->getRealPath())->chunk(1,function ($results) {
foreach($results as $row) {
TaskMeta::create([
'task_id' => $row['task_id'],
'col2' => $row['column2'],
... etc, rest of the 100 columns ommited for clarity
]);
}
});
顺便说一句,我正在我的 Homestead 环境中进行本地测试。我需要一个也可以在生产服务器上运行的解决方案。