我正在使用PHPExcel库来读写excel文件excel2007格式。这些不是大的excel文件,大约只有120个和20个列。当我在我的专用服务器上运行它的显示错误如下..
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 40 bytes) in /home/ramdas/public_html/partnumber/inc/PHPExcel/Style/Supervisor.php on line 126
这是我的代码..我正在使用内存缓存技术..
include("inc/PHPExcel.php");
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
$cacheSettings = array( 'memoryCacheSize' => '512MB');
PHPExcel_Settings::setCacheStorageMethod($cacheMethod,$cacheSettings);
$objPHPExcel = new PHPExcel();
我已经检查了PHPExcel_Settings的返回值..它返回true ..
请帮我解决这个问题......我已经尝试了这里提供的所有答案......没有什么能帮我解决..
答案 0 :(得分:2)
$cacheSettings = array( 'memoryCacheSize' => '512MB');
这告诉PHP使用内存高达512MB 之前它甚至会开始将单元格数据缓存到php:// temp
你没有512MB的内存,你只有32MB(33554432字节)
PHPExcel不会自动从以太创建内存,它受到可用物理内存的限制。
你需要使用比你的可用内存更小的memoryCacheSize
值,可能是8MB,甚至更少
$cacheSettings = array( 'memoryCacheSize' => '8MB');