情况如下;
我在php上运行了一个导入程序(基本上,您可以认为它是一个很大的while循环)。但是,由于有大量的数据(需要导入的数据小时);我不能在一个请求中做到这一点,否则我将在10分钟后接受php超时错误。
为了避免超时问题,我决定将我的导入减少到很多部分。基本上.我再次调用相同的url,但是每5分钟就会增加1000个参数。

这也是一些重定向之后的working...but .我接受了太多的重定向错误。
这个问题是标签铬,但如果你有一个其他浏览器的解决方案,我认为它。
我的问题是:,我有办法在铬上增加可以允许的重定向的数量吗?
或者可能是修复方法是临时从php中删除超时?我很想知道最好的解决方案是什么。怎么做?
发布于 2021-02-04 14:46:39
首先,我不建议进入这些重定向。最好是设置:
max_execution_time = 0您不必为所有PHP更改此设置,您可以在导入脚本中设置它。
您是否有可能更改导入的源文件?
最好将这个文件分解成更小的文件,而不是使用任何消息代理(例如。RabbitMQ)将您的文件逐个排队以导入脚本。
如果您无法更改源文件,因为它来自外部源,则可以在脚本中按您自己的方式对其进行分块。Thant尝试将这些块排队,并使用CRON作业或类似的东西一个接一个地导入。
这次进口期间发生了什么事?也许你在进口的时候做的太多了?
编辑2022-06
我只是好奇,人们是否在使用产生,而不是在导入过程中返回从文件中读取的全部数据。为了节省服务器内存,强烈建议这样做。它可以用来:
public function readFile(string $filePath): iterable
{
$file = new SplFileObject($filePath);
...
while (!$file->eof()) {
$row = ...
...
yield $row;
}
}在这里使用产生语句可以节省大量内存(特别是在加载大文件时),并使处理海量数据成为可能。
https://stackoverflow.com/questions/66047564
复制相似问题