日期:2014-05-17  浏览次数:20621 次

关于数据导出超时的问题
我有大批数据,用php导出为csv或者txt格式,如何解决超时和内存溢出的问题。能不能循环导出一部分,然后释放这部分的内存。

------解决方案--------------------
超时可用 set_time_limit(0) 解决,不过要注意你的程序不会出现死循环
临时缓解内存不足,可用 ini_set('memory_limit', $n),$n 为大于 ini_get('memory_limit') 的值,注意不要太大了

解决问题的关键在于优化你的程序,能利用数据库或文件来缓存中间结果时,一定要利用
不要为了所谓的“效率”而破坏整体。程序的出错了,那个效率还有什么用?
------解决方案--------------------
分批导出是可行的,另外超时的操作可以作为后台程序执行
------解决方案--------------------
一次少导一些数据吧,多分几次就好了