PHPExcel内存泄漏问题的求解方法

PHPExcel内存泄漏问题的求解方法
使用PHPExcel生成Excel文件,内存消耗。有时,一个循环可以将大量数据分割成多个小Excel文档,以避免内存耗尽。

然而,循环引用的存在(最新版本的1.6.5 PHPExcel似乎仍然要解决这个问题),如果对phpexcel_writer_excel5 PHPExcel和对象实例来完成多个Excel文件的生成操作的重复建设过程的一个HTTP请求,所有构造的对象实例不是HTTP请求的结束及时发布之前,导致内存泄漏。

解决方案是在phpexcel_worksheet类添加方法:

复制代码代码如下所示:

公共函数销毁(){

foreach(美元-> _cellcollection美元美元指数=假){

美元-> _cellcollection { $指数} = null;

}

}
在PHPExcel类添加方法:

复制代码代码如下所示:

公共函数销毁(){

foreach(美元-> _worksheetcollection美元美元指数=假){

美元-> _worksheetcollection { $指数} ->破坏();

美元-> _worksheetcollection { $指数} = null;

}

}
然后有一个显式调用::PHPExcel破坏()来解决循环引用的地方,资源回收是必要的。注意,__destruct()方法被调用时,对象被释放,如此循环引用的处理不能在__destruct进行()。

tag:方法内存泄漏电脑软件PHPExcel

相关内容