脚本宝典收集整理的这篇文章主要介绍了php – Codeigniter处理大文件时允许的内存大小耗尽,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个cron作业,使用以下代码每天使用一个非常大的文件更新数据库:
if (($handle = foPEn(dirname(__FILE__) . '/uncomPressed',"r")) !== FALSE) { while (($data = fgets($handle)) !== FALSE) { $thisline = json_decode($data,true); $this->regen($thisline); } fclose($handle); }
这是一个仅用于cron作业的CodeIgniter控制器. $this-> regen函数运行一系列不同的检查,并存储数据库中该行的正确信息.该文件本身是由换行符分隔的超过300MB的JSON.
问题是:在整个内存耗尽之前,它只会处理大约20,000行.
然后我在Ellislabs找到了这个帖子,我得到了答案. CI Active Record保存@L_304_19@,以便您可以在多个函数中构建查询. (我甚至不打算在默认情况下打开它是多么愚蠢.)
$db [‘default’] [‘save_queries’] = FALSE;
到文件的末尾.然后确保在单个函数中使用Active Record构建和执行查询.如果您只需要将其关闭一个案例,请使用
$this-> db-> save_queries = FALSE;
在构造函数中或您需要放置的任何位置.
以上是脚本宝典为你收集整理的php – Codeigniter处理大文件时允许的内存大小耗尽全部内容,希望文章能够帮你解决php – Codeigniter处理大文件时允许的内存大小耗尽所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。