我正在尝试解析一个 50 兆字节的 .csv 文件。该文件本身很好,但我试图解决所涉及的大量超时问题。每个都设置为上传明智,我可以轻松上传并重新打开文件,但在浏览器超时后,我收到 500 内部错误。
我的猜测是我可以将文件保存到服务器上,打开它并保留我处理的行的会话值。在某一行之后,我通过刷新重置连接并在我离开的那一行打开文件。这是一个可行的想法吗?之前的开发者做了一个效率很低的 MySQL 类,它控制着整个网站,所以我不想写自己的类,如果我没有必要,我也不想乱他的类。
TL;DR 版本:保存我当前在具有 38K 行产品的 CSV 文件中的最后一行,然后在 X 行之后,重置连接并从我离开的地方开始是否有效?还是有另一种方法来解析大型 CSV 文件而不会超时?
注意:这是 PHP 脚本执行时间。目前在 38K 行,通过命令行运行大约需要 46 分 5 秒。当我从浏览器中删除它时,它 100% 正常工作,这表明它是浏览器超时。据谷歌告诉我,Chrome 的超时是不可编辑的,而 Firefox 的超时很少起作用。