PHPExcel Allowed memory size of 内存泄漏解决办法
我在利用PHPExcel导入一个一个大概31列、500行的文档,实行导入之后,PHP会报如下错误:
Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 35 bytes)
inX:wwwClassesPHPExcelCell.php on line 711
解决办法是在 PHPExcel_Worksheet 类中增加方法:
public function Destroy() {
foreach($this->_cellCollection as $index => $dummy) {
$this->_cellCollection[$index] = null;
}
}
并在 PHPExcel 类中增加方法:
public function Destroy() {
foreach($this->_workSheetCollection as $index => $dummy) {
$this->_workSheetCollection[$index]->Destroy();
$this->_workSheetCollection[$index] = null;
}
}
还有一种办法就是修改你php内存配置,在中加入
在php文件增进一条语句
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy3188')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy3188>ini_set('memory_limit', '-1');
或
ini_set('memory_limit','265M')
修改php.ini(保举)
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy8201')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy8201>memory_limit = 12M
.htaccess文件,添加如下内容
php_value memory_limit 12M
您可能感兴趣的文章:
PHPExcel Allowed memory size of 内存泄漏解决办法
Composer PHP Fatal error:Allowed memory size of
PHPExcel导出Excel文件时出现错误的解决办法
定位分析内存泄漏的原因和后果
Fatal error: Allowed memory size of 134217728 bytes exhauste
php中设置内存的方法介绍
php运行网站内存不足提示 Fatal error Allowed memory size
Java内存泄漏原理及如何防止
php输出xml(导出excel)数据过长时被截断
修改PHP的memory_limit限制3种方法