在处理大数据的时候发现处理不了,可能是因为 内存分配不够

作者:Liaodeity - 2015年03月09日

在web开发的过程中,在处理一些大数据的时候,发现无法实现,就要看看分配的内容是否足够。

如果碰到这种问题,我们可以这样做

配置修改,在php的环境中修改,php.ini,如果你不知到路径,请输出phpinfo()函数,就可以找到

memory_limit = 128M      ; Maximum amount of memory a script may consume (16MB)

      函数修改,代码函数,执行代码是,暂时提高存储处理,以处理大数据:

ini_set('memory_limit','128M');

有时候还要添加函数,防止浏览器假死

set_time_limit(0);

例子:

phpexcel

在使用phpexcel插件时,进行导出时,在数据很多的情况下,导处理的数据是空白的,这种情况就是有可能是内容处理不够导致的。

就添加上面的代码

还可以进行一些优化

缓存大小设置

$cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp;  

                $cacheSettings = array( ' memoryCacheSize '  => '16MB'  

                );


不要使用原有的输出,要做一个转换

// $objWriter->save('php://output');   //不使用这种方法保存excel

                $finalFileName = 'application/cache/'.time().'.xls'; 

                $objWriter->save($finalFileName); 

                echo file_get_contents($finalFileName);


本文作者: Liaodeity

本文链接: https://www.jianbaizhan.com/article/77

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!