首頁 後端開發 php教程 PHPExcel内存泄漏有关问题

PHPExcel内存泄漏有关问题

Jun 13, 2016 am 10:41 AM
index phpexcel this

PHPExcel内存泄漏问题

1.使用 PHPExcel 来生成 excel 文档是比较消耗内存的,有时候可能会需要通过一个循环来把大数据切分成若干个小的 excel 文档保存来避免内存耗尽。

?

然而PHPExcel 存在 circular references 的情况(貌似在最新的 1.6.5 版本中仍然没有去解决这个问题),如果在一次 http 请求过程中反复多次构建 PHPExcel 及 PHPExcel_Writer_Excel5 对象实例来完成多个 excel 文档生成操作的话,所有被构建的对象实例都无法在 http 请求结束之前及时释放,从而造成内存泄漏

2.解决办法是在 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;	}}
登入後複製

?然后在需要资源回收的地方显式的调用 PHPExcel::Destroy() 来处理循环引用的问题。注意 __destruct() 方法是在对象被认为可以被释放的时候才会被调用,所以循环引用的处理不能放到 __destruct() 来进行。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
index.html是什麼文件? index.html是什麼文件? Feb 19, 2024 pm 01:36 PM

index.html代表網頁的首頁文件,是網站的預設頁面。當使用者造訪一個網站時,通常會先載入index.html頁面。 HTML(HypertextMarkupLanguage)是一種用來建立網頁的標記語言,index.html也是一種HTML檔。它包含網頁的結構和內容,以及用於格式化和佈局的標籤和元素。下面是一個範例的index.html程式碼:&lt

完全指南:如何使用php擴充PHPExcel處理Excel文件 完全指南:如何使用php擴充PHPExcel處理Excel文件 Jul 28, 2023 pm 10:01 PM

完整指南:如何使用PHP擴充PHPExcel處理Excel檔案引言:在處理大量資料和統計分析時,Excel檔案經常被用作資料儲存和交換的一種常見格式。使用PHP擴充PHPExcel,我們可以輕鬆地讀取、寫入和修改Excel文件,從而有效地處理Excel資料。本文將介紹如何使用PHP擴充PHPExcel來處理Excel文件,並提供程式碼範例。一、安裝PHPExc

PHP開發:使用 PHPExcel 處理 Excel 文件 PHP開發:使用 PHPExcel 處理 Excel 文件 Jun 15, 2023 pm 03:45 PM

隨著數位化時代的到來,資料已經成為了我們日常生活和工作中最重要的一部分,而Excel檔案則成為資料處理的重要工具之一。相信許多PHP開發者也會在工作中常遇到使用Excel檔案進行資料處理與操作的情況。本文將為大家介紹使用PHPExcel函式庫來處理Excel檔案的方法和注意事項。什麼是PHPExcel? PHPExcel是一個PHP類

怎麼用phpexcel將Excel檔案轉成CSV檔案並打開 怎麼用phpexcel將Excel檔案轉成CSV檔案並打開 Mar 27, 2023 pm 04:16 PM

PHPEXCEL是優秀的PHP讀寫Excel檔案的類別庫,它提供了非常充分的API,能夠讓我們使用PHP來讀寫Excel檔案。而有些時候,我們需要將Excel文件轉換成CSV文件,在一些場合下使用。那麼,本文主要講述如何使用PHPEXCEL類別庫將Excel文件轉換成CSV文件,並進行開啟。

phpexcel為什麼成為PHP開發者關注的對象 phpexcel為什麼成為PHP開發者關注的對象 Mar 27, 2023 pm 06:15 PM

PHPExcel是一種處理微軟 Excel 檔案的開源 PHP 函式庫,可以讀取、建立、修改和儲存 Excel 檔案。它是一個強大且高度可自訂的工具,可用於處理資料分析、報告產生、資料匯入和匯出等任務。在本文中,將介紹PHPExcel為什麼成為PHP開發者關注的物件。

聊聊Vue2為什麼能透過this存取各種選項中屬性 聊聊Vue2為什麼能透過this存取各種選項中屬性 Dec 08, 2022 pm 08:22 PM

這篇文章帶大家解讀vue原始碼,來介紹一下Vue2中為什麼可以使用 this 存取各種選項中的屬性,希望對大家有幫助!

PHP原始碼運行問題:index報錯解決方法 PHP原始碼運行問題:index報錯解決方法 Mar 09, 2024 pm 09:24 PM

PHP原始碼運行問題:index報錯解決方法,需要具體程式碼範例PHP是一種廣泛使用的伺服器端腳本語言,經常被用於開發動態網站和Web應用程式。然而,有時候在運行PHP原始碼時會遇到各種問題,其中「index報錯」是比較常見的情況。本文將介紹一些常見的index報錯原因以及解決方法,並提供具體的程式碼範例,幫助讀者更好地處理這類問題。問題描述:在執行PHP程式時

一篇搞懂this指向,追趕70%的前端人 一篇搞懂this指向,追趕70%的前端人 Sep 06, 2022 pm 05:03 PM

同事因為this指向的問題卡住的bug,vue2的this指向問題,使用了箭頭函數,導致拿不到對應的props。當我跟他介紹的時候他竟然不知道,隨後也刻意的看了一下前端交流群,至今最起碼還有70%以上的前端程式設計師搞不明白,今天給大家分享一下this指向,如果啥都沒學會,請給我一個大嘴巴子。

See all articles