PHP’de “Allowed memory size… hatası”

Kolay kolay böyle teknik şeyler yazmaya vakit bulamıyorum. Eğitim yazılımı hazırlama uzmanı olarak diplomalandırılmamıza rağmen kendi teknik sorunlarımızdan kafayı kaldırıp eğitim teorisine uygun eğitim yazılımları hazırlamaya vaktimiz ve aslında hevesimizde yok. Bu teknik sorunları çözümleri ile uzun uzun paylaşmak istesemde ona da vakit olmuyor.

PHPAma bu hata benim başıma geldikten sonra anladım ki hazır yazılım kullanan ( wordpress, joomla ) pek çok kişininde başına geliyor. Çeşitli hostlarda çeşitli sınırlarda tanımlanmış php hafıza kullanım limitleri bir yerde çalışan scripti öteki yerde çalıştıramamanız demek oluyor. O scripti siz yazsanız bile :)

Hata diyor ki;

Pek çok çeşit çözümü var bu hatanın.

İlki sunucuda yetkisi olanlar için php.ini dosyasından memory limit size büyüklüğünü arttırmak.

memory_limit = 64M ;

İkincisi sunucuda php.ini üstünde yetkili olan hostlar kullananlar için. Onlarda hostlarına bir php.ini dosyası atarak çözüm üretebilir. İçine sadece memory size bölümü büyük yazılmış bir satır ekleyecekler.

Üçüncüsü script üstünde editleme yapabilenler için. Onlarda init_memory belirletmek için scripte şunu ekleyebilirler.

ini_set( 'memory_limit', '64M' );

Öğrendiğim son çözüm .htaccess dosyası kullananlar için. Onlarda php memory kullanım limitini apache üstünden belirtebilirler. Bu bu durum ancak benim işimi çözdü. Çünkü reseller olarak aldığım yerli hosting php üstünde fonksiyon kısıtlamalarına gitmiş, php.ini yetkisi vermemişti. Ama apache’den php’ye giden bir ricayı php kırmıyor :) .htaccess’e şunu ekleyin.

php_value memory_limit 16M

Resim işleme, upload, transfer gibi işlerde başınıza iş açan bu hatayı farklı yollardan çözdüyseniz bizimle paylaşırsanız seviniriz tabi.

Sağlıcakla kalın…

Yorum yazabilirsiniz :


eXTReMe Tracker