PHP Bellek Yönetimi ve ZipArchive sınıfı

1 Cevap php

PHP'nin ZipArchive sınıfını kullanarak aynı zip arhchive dosyası içine küçük dosyalar bir sürü ekler kullanan bir PHP komut dosyası var.

Son zamanlarda komut arşivi büyük olmasına rağmen, memory tükenmeye başladı, ama ben yeniden açılması arşivler güvenle, sadece küçük dosyaları bir dosya eklemek için gereken her zaman tek tek ekleyin.

İlk arşiv dosyası yüzden gerçek bir sorun ZipArchive sınıf bir dosya eklediğinde, bu bütün arşivini o olabilir, bir sorun biraz dosyalarını değil ekleyerek varsayıyorum little by little 50 mb büyüdü belleğe. Bu doğru varsayım, bu yüzden olabilir mi?

1 Cevap

Bellek yönetimi PHP'nin güçlü noktalarından biri değil. Ben tüm arşiv belleğe çözdükten fikri doğrulamak veya ortadan kaldırmak için kılavuzda şey görmüyorum, ama ben öyle olduğunu tahmin ediyorum.

Onlar eşit eğer, o PHP hafızasına tüm arşiv açılıyor onaylamak gerekir - $zip->open() için ZIPARCHIVE::ER_MEMORY dönüş değerini karşılaştırarak sahipsiniz.

Onaylamak için başka bir yol zip dosyasının boyutuna memory_limit ayarını (http://us2.php.net/manual/en/ini.core.php # ini.memory limit) karşılaştırmak olacaktır.