教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 PHPExcel Allowed memory size of 内存泄漏解决办法

PHPExcel Allowed memory size of 内存泄漏解决办法

发布时间:2018-12-09   编辑:jiaochengji.com
教程集为您提供PHPExcel Allowed memory size of 内存泄漏解决办法等资源,欢迎您收藏本站,我们将为您提供最新的PHPExcel Allowed memory size of 内存泄漏解决办法资源
本文章来介绍一个关于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 类中增加方法:

<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('copy1819')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy1819>

 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文件,添加如下内容

<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('copy1051')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy1051>

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种方法

[关闭]
~ ~