2015-05-14 24 views
9

Şu anda Symfony projesi (const VERSION = '2.5.10') üzerinde çalışıyorum ve xampp kullanıyorum. PHP sürümü 5.5.19.Symfony'de bellek yetersizliği hatası

OutOfMemoryException: Error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 3358976 bytes) in C:\xampp\htdocs\Editracker\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Profiler\FileProfilerStorage.php line 153

ve her şey farklı bellek boyutu verir sayfayı yenileyin:

Sorunum bir hata alıyorum benim dev ortamı çalıştırmak her şey budur. Ayrıca, bu durumun, aynı zamanda, dev ortamımın sayfayı yenilemeden önce uzun bir zaman almasının da nedeni olduğunu düşünüyorum.

Yardımınız için teşekkür ederiz.

php.ini

memory_limit= '256M'

benim bellek sınırı artırmak çalıştı, hala bellek sınırı

+0

Hata msg'si çok açıktır. Kodunuz çok fazla RAM tüketir ve hangi parçanın OOM'a yol açtığını öğrenmeniz gerekir. –

+0

olası yinelenen [33554432 baytlık bellek boyutu engellendi (43148176 bayt ayırmaya çalıştı) php] (http://stackoverflow.com/questions/415801/allowed-memory-size-of-33554432-bytes-exhausted-Tried -to-allocate-43148176-byte) –

+0

@Michael: Bunu zaten denedim ama yine de bellek limiti hakkında bana bir hata veriyor. Ne yapmalıyım? – aizele

cevap

14

Symfony'de en istekli bileşen profilci ilgili bir hata verir. Bazı belirli eylemlere Profilcinin gerekmiyorsa kod aracılığıyla devre dışı bırakabilirsiniz:

framework: 
    profiler: 
     collect: false 
+0

Gerçekten nereye ayarlamalıyım? Config.yml veya config_dev.yml dosyasında mı? Üzgünüm, sadece kafam karıştı. – aizele

+0

config.dev içeriğiniz 'config.yml'. Ve böylece hepsi aynı. Ama bunu, dev-config'unuza yerleştirmenizi tavsiye ederim. –

+0

Bunu denedim ve bir hata aldım: "[Symfony \ Bileşen \ Config \ Definition \ Exception \ InvalidConfigurationException] Tanınmayan" çerçeve "altında" topla "seçeneği – aizele

3

Ya devre dışı symfony profilci (I don':

if ($this->container->has('profiler')) 
{ 
    $this->container->get('profiler')->disable(); 
} 

Ayrıca config küresel parametreyi ayarlayabilirsiniz bm.ini adresinde -1 ile sınırsız olarak sınırlandırın ve apache'yi yeniden başlatın. Bellek sınırı sadece Symfony'nin dev ortamında ulaşılan ediliyorsa

memory_limit = -1 
+0

Bellek yetersiz hatası gider, ancak bunun yerine "FatalErrorException: Hata: 30 saniyenin maksimum yürütme süresi aşıldı: C: ​​\ xampp \ htdocs \ Editracker \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ DataCollector \ LoggerDataCollector.php line 101 " – aizele

+0

Bunu da deneyin:' max_execution_time = 0' – BentCoder

+0

Eğer çözmezse, uygulamanızda gerçek şişe boynunu bulmaya çalışsanız iyi olur. Daha büyük bir problemin olabilir. – BentCoder

1

Sana bellek mantıklı miktarda test üretimi devam edebilir web/app_dev.php

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

Bu şekilde aşağıdaki ekleyerek öneririm . Tüm ortamı php.ini üzerinden değiştirmek, çizginin altındaki bir hatayı gizleyebilir.

1

XDebug'u takan Twig hata ayıklamada Bellek yetersiz hatası çözdüm. Twig dahili PHP var_dump işlevini kullanır Çünkü 3 düzeyleri derin için diziler ve nesnelerin var_dump() çıkışını sınırlar çünkü documentation görebileceğiniz gibi

,, XDebug iyi bir fikirdir yükleyin.

Krediler @peezi.

İlgili konular