Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 拉威尔超时_Mysql_Excel_Laravel_Timeout - Fatal编程技术网

Mysql 拉威尔超时

Mysql 拉威尔超时,mysql,excel,laravel,timeout,Mysql,Excel,Laravel,Timeout,因此,我必须读取一个excel文件,其中每一行都包含一些我想在数据库中写入的数据。我将整个文件传递给laravel,它读取文件并将其格式化为数组,然后在数据库中进行新的插入(或更新)。 问题是,输入的excel文件可能包含数千行,需要一段时间才能完成,在某些情况下会出现超时错误。 当我尝试在本地进行此操作时,我使用set\u time\u limit(0)函数,这样超时就不会发生,而且工作得很好。但在远程服务器中,出于安全原因,此功能被禁用,并且我的代码因超时而崩溃。 有人能帮忙解决这个问题吗?

因此,我必须读取一个excel文件,其中每一行都包含一些我想在数据库中写入的数据。我将整个文件传递给laravel,它读取文件并将其格式化为数组,然后在数据库中进行新的插入(或更新)。 问题是,输入的excel文件可能包含数千行,需要一段时间才能完成,在某些情况下会出现超时错误。 当我尝试在本地进行此操作时,我使用
set\u time\u limit(0)函数,这样超时就不会发生,而且工作得很好。但在远程服务器中,出于安全原因,此功能被禁用,并且我的代码因超时而崩溃。

有人能帮忙解决这个问题吗?也许是关于如何更好地解决这个问题的另一个想法?

处理耗时较长的任务的一个好方法是利用所谓的

当有人向您发送文件时,您可以创建一个名为
ImportExcel
dispatch
的作业


请仔细查看,他们提供了一些关于如何执行此操作的很好的示例。

您可以使用以下步骤处理此问题:

1。获取csv文件并将其临时存储在存储器中:

用户上传时,您可以存储大的csv。如果它不是从前端上传的,只需确保您已将其保存以供下一步处理

2。然后分派一个可以排队的队列:

您可以创建一个可以异步处理此问题的作业。您可以使用来管理队列和超时等

3。使用如下软件包:

使用此软件包(或类似软件包),您可以分块记录或一次读取一条记录。将内存使用限制在一定范围内确实很有帮助。此外,它还有不同的方法选项可用于从文件中读取数据

4。处理完文件后,您可以将其从临时存储器中删除:


只是一些拆卸清理活动。

我正在尝试这样做,但仍然有同样的问题。我不知道我做错了什么,但laravel似乎仍然在阻止我的应用程序。PHP中定义的最大执行时间是多少?