簡體   English   中英

PHP中的內存管理和ZipArchive類

[英]Memory Management and ZipArchive class in PHP

我有一個PHP腳本,該腳本使用PHP的ZipArchive類將許多小文件添加到同一zip存檔文件中。

最近,腳本開始出現內存不足的情況,盡管檔案很大,但是我只能一個一個地添加小文件,每次需要添加文件時都可以安全地重新打開檔案。

最初的存檔文件長大一點一點地50 MB所以我想加入少許文件不是問題,真正的問題可能是,每當ZipArchive類增加了一個文件,然后解壓縮整個壓縮文件到內存中。 這是正確的假設嗎?

內存管理不是PHP的強項之一。 我在手冊中看不到任何內容可以確認或消除整個存檔都已解壓縮到內存中的想法,但我想是的。

嘗試將$zip->open()的返回值與ZIPARCHIVE::ER_MEMORY -如果它們相等,則應確認PHP正在打開內存中的整個存檔。

確認它的另一種方法是將memory_limit的設置( http://us2.php.net/manual/en/ini.core.php#ini.memory-limit )與zip文件的大小進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM