解决PHPExcel导出大数据提示out memory错误
来源:互联网 发布:淘宝专柜代购有真的吗 编辑:程序博客网 时间:2024/06/05 04:20
问题描述:
错误提示:Fatal error: Allowed memory size of 134217728 bytes exhausted
问题原因:
1. php.ini文件中memory_limit值设置太小,php脚本执行所需要的内存不够
2. excel表格一个工作薄最多支持65535行数据量,要导出到一个工作薄的数据量超过65535行
解决方法:
1.
修改php.ini文件中memory_limit值的大小
memory_limit=128M;可以设置合适的内存限制大小
或
memory_limit=-1 ;取消内存限制
或者在php代码中增加: ini_set(“memory_limit”, "-1");
2. 如果导出数据量超过65535行, 可以多创建几个工作薄,平分数据量让每个工作薄存储数据都不超过65535行
优化操作:
通过PHPExcel_Settings::setCacheStorageMethod方法更改缓冲方式来减小内存的使用
PHPExcel提示的缓冲方式有:
将数据缓冲到内存中,默认设置:PHPExcel_CachedObjectStorageFactory::cache_in_memory
将数据序列化缓冲到内存中:PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized
将数据序列化再进行Gzip压缩再放到内存中:PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip
将数据缓冲到磁盘临时文件中:PHPExcel_CachedObjectStorageFactory::cache_to_discISAM
将数据缓冲到php://temp:PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp
将数据缓冲到Memcache中:PHPExcel_CachedObjectStorageFactory::cache_to_memcache
将数据缓冲到SQLite3中:PHPExcel_CachedObjectStorageFactory::cache_to_sqlite3
- 解决PHPExcel导出大数据提示out memory错误
- PHPExcel 大数据的导出
- 解决:编译CM14.1 提示Jack “Out of memory error”错误
- 解决domino服务器错误:out of memory
- STM32 ST-LINK Utility解决错误提示“Can not read memory!Disable Read Out Protection and retry”
- ThinkPHP + PHPExcel 导出数据
- phpexcel 导出数据
- phpexcel 导出数据
- PHPExcel数据导出
- PHPExcel导出大量数据超时及内存错误解决方法
- phpExcel导出大量数据出现内存溢出错误的解决方法
- PHPExcel导出大量数据超时及内存错误解决方法
- 解决eclipse load大文件时out of memory问题
- 解决out of memory
- PHPEXcel 10008错误解决
- PHPEXcel 10008错误解决
- 暂时解决weblogic 的 permGen out of memory错误
- 如何解决ORA-27102: Out of memory error错误
- LeetCode(77) Combinations
- Java实现不同的类的属性之间相互赋值
- git 撤销最后一次commit方法
- 黑马程序员--Java--集合
- How to change mode from c++98 mode in Dev-C++ to a mode that supports C++0x (range based for)?
- 解决PHPExcel导出大数据提示out memory错误
- 安装交叉工具链
- WPF如何实现窗体透明——Opacity
- RSA实现登录页面密码加密(ASP.NET MVC)
- HDU1232~畅通工程~并查集的应用~~
- Scala学习回顾(五)---- scala中的apply
- Hadoop Archive解决海量小文件存储
- RAC Basic Operators_part1
- markdown编辑器