Limitten daha düşük sayıda çökmesini php CLI komut memory_limit sayarak,

3 Cevap memory

nedense, benim php komut benim bir php.ini bellek sınırı veya ini_set göz ardı edilir.

I print_r yaptığınızda (ini_get_all) benim komut dosyası Ölümcül hata da öldüğünde, 100M set küresel bellek sınırı gösterir (ve bu konuda yerel): Out of memory (24714304 ayrılan) (571 bayt ayırmaya çalıştı)

Bu teşhis hakkında herhangi bir ipucu? Sunucu belleği 8gigs sahiptir ve daha önce bu komut dosyasını çalıştıran sorun yoktu.

Bu hata ayıklama ile ilgili herhangi bir ipucu?

Teşekkürler!

3 Cevap

Bunun tek ve en yaygın nedeni genellikle CLI PHP ikili beklediğinizden farklı bir php.ini dosyası kullanarak olmasıdır. Bu user permissions neden olduğu, ya da PHP yüklü sürümleri için varsayılan php.ini dosyaları sadece farklı olabilir. Eğer bunu biraz profilli ettik ve hafıza limit komut dosyası içinde doğru olabilir gibi Ancak, bu sesler.

Bu durumda, bu dayatma nereden geldiğini anlamaya gerekecek bu durumda işletim sistemi tarafından dayatılan süreçler üzerinde bir sabit bellek sınırı olduğunu oldukça mümkündür.

Bu afiş durumunuza çok benzer bir şey geçti gibi ben, this thread bir göz alarak öneririz.

Benim süreçler için sanal bellek, hard (çok çok düşük bir sayı) sınırlı ediliyordu.

Bash kabuğu i bu yaptım:

ulimit-v (memory_in_bytes, parantez yok)

Bu benim sorunum sabit. god i stackoverflow seviyorum

kısa ve tatlı

ini_set('memory_limit', -1);

durumda hata ayıklama atlamak istiyorum