当前位置: 代码迷 >> PHP >> 关于PHPExcel类占用内存有关问题
  详细解决方案

关于PHPExcel类占用内存有关问题

热度:65   发布时间:2016-04-28 17:00:00.0
关于PHPExcel类占用内存问题

最近在帮一家公司做后台excel导出功能,使用的工具类是phpexcel,因为这个类功能比较强大、全面。

但是遇到下面一个问题:

当导出数据量达到一定数量级的时候,比如说1000条,服务器出现卡顿、白屏现象,若再增大导出数量,则出现了502错误网关的提示。

经过百度、一些国内论坛的排查,

得出以下几个措施:

1.设置PHP缓存

//设置缓存方法PHPExcel_Settings::setCacheStorageMethod();

2.设置最大执行时间

//设置最大执行时间set_time_limit(0);

但是经过调试,都不起作用,仍然报了502错误。


最后,经过查看内存信息,我把问题根源追索转向了内存,于是做了如下设置:

//设置内存限制ini_set('memory_limit', '256M');

接下来是激动的结果,excel成功导出了!

 

至此,问题已解决。

phpexcel确是一个功能强大的类,但是在性能优化方面却有很大的提升空间,希望不久的将来可以推出一个轻量级的excel使用类 ^_^