我试图解析一个50兆字节.csv文件。该文件本身很好,但我试图超过涉及的大量超时问题。每个设置上传明智,我可以轻松地上传和重新打开该文件,但浏览器超时后,我收到500内部错误。如何在不超时的情况下解析大型CSV文件?
我的猜测是我可以将文件保存到服务器上,打开它并保留我处理的行的会话值。在某一行之后,我通过刷新重置连接,并在我离开的那一行打开文件。这是一个可行的想法吗?之前的开发人员制作了一个非常低效的MySQL类,它控制着整个网站,所以我不想写我自己的类,如果我不需要,我也不想惹他的课。
TL; DR版本号:那么当我保存当前存在38K行产品的CSV文件的最后一行时,并且在X行数后重置连接并从哪里开始我离开了?或者还有另一种解决大型CSV文件没有超时的方式?
注意:这是PHP脚本执行时间。目前在38K行,通过命令行运行大约需要46分钟和5秒钟。当我从浏览器中删除它时,它100%正常工作,表明它是浏览器超时。就谷歌告诉我的,Chrome的超时时间不可编辑,Firefox的超时工作很少。
你应该详细说明什么是超时。您与MySQL的连接,PHP脚本执行时间还是其他?你有没有考虑过设置超时时间? – JYelton 2012-08-03 17:01:21
您应该考虑让脚本先分割文件。 – 2012-08-03 17:09:15
@JYelton I这是PHP脚本执行时间。目前在38K行,通过命令行运行大约需要46分钟和5秒钟。当我从浏览器中删除它时,它100%正常工作,表明它是浏览器超时。就谷歌告诉我的,Chrome的超时时间不可编辑,Firefox的超时工作很少。 – lxndr 2012-08-03 17:13:21