2013-03-18 13 views
11

İlk defa mpdf kitaplığı kullanıyorum ve her şey iyi çalıştı. 274 ​​satırlık bir tablo içeren pdf dosyası oluşturmak için bir komut dosyası yazdım. Komut dosyasını çalıştırdığımda php hafıza hatası alıyorum. Farklı senaryoyu denedim ama aynı hafıza hatasını aldım. Lütfen bu hatayı çözmek için bana yardımcı olun. Farklı senaryo ve sonuçlarını aşağıda listeledim.php mpdf bellek sınırı hatası

php.ini = memory_limit = 256 M

komut = ini_set ('memory_limit', '25 milyon');

Result: 
memory_get_usage() = 12.75 mb 
memory_get_peak_usage() = 12.75 mb 
Fatal error: Allowed memory size of 26214400 bytes exhausted 
(tried to allocate 261904 bytes) 
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14268 

php.ini = memory_limit = 256 M

komut = ini_set ('memory_limit', '-1');

Result: 
memory_get_usage() = 12.75 mb 
memory_get_peak_usage() = 12.75 mb 
Fatal error: Out of memory (allocated 1898971136) 
(tried to allocate 261904 bytes) 
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14265 
+0

'ini_set ('memory_limit', -1); var_dump (ini_get ('memory_limit')); 'Değişikliklerinizin ayarlandığını onaylayın. –

+0

@Mike B Bu çıktı = string (2) "-1" – sravis

+0

Yani başka bir şey bellek sınırını tekrar 25 olarak ayarlıyor. –

cevap

4

Tablolar bellek kullanımı birkaç seçenek kullanılarak azaltılabilir. official doc here

+0

Buddy, Cevabınıza gerçekten ihtiyacım var, ama gönderdiğiniz link aşağıdaydı. Uygun bilgi yapıştırarak? –

+1

Yanıtı güncelledim – flm

+0

Özellikle, $ mpdf-> packTableData = true; 'veya' $ mpdf-> packTableData = true; '(bağlantıdan, gelecekte bozulursa) deneyin. Aksi halde, mpdf dosyasında bulunan compress.php komut dosyasını gözden geçirin. – Sablefoste

0

Eşzamanlılık bulunduğunu öğrendim (</table >) etiketleri bellek sorunlarına (ve hıza neden olabilir); mPDF'ye giden HTML'yi temizlemek onu çözdü.

0

Ayarladığınız memory_limit değerinin değişip değişmediğini görmek için phpinfo() çıkışını görmeye çalıştınız mı? Bu işlevi, index.php dosyanızın üst kısmına koymaya çalışın ve ini_set('memory_limit', '256M');'un etkin olup olmadığını görün.

Saygılar!

İlgili konular