Bazen yeni bir eklenti yüklerken yada güncellerken yada bazı CPU canavarı eklentileri çalıştırken memory limit hatası alabilirsiniz. WordPress memory limit hatası genellikle şuna benzer;
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home8/xyx/public_html/wp-includes/plugin.php on line xyx
Bu hatayı almanızdaki sebep, sitenizin varsayılan olarak atanan bellek kullanım limitini aşması. Bu yazımda sizlere adım adım memory limit arttırmayı anlatacağım.
Sitenizin Memory Limit (Bellek Sınırının) Ne Kadar Olduğunu Öğrenmek
Öncelikle yapmamız gereken web sitenizin memory limit sınırının kaç mb olduğunu öğrenmek. Memory limit sınırını öğrenmek için en çok kullanılan bu yöntemde;
Serverınızda view-php-info.php adında yeni bir dosya oluşturun ve aşağıdaki kodu oluşturduğunuz dosya içerisine ekleyin.
<?php phpinfo(); ?>
Yeni dosyanızı oluşturduktan sonra tarayıcınızdan oluşturduğunuz dosyanın url adresine yani, http://www.sizinsiteniz.com/view-php-info.php url adresine gidin.
Adrese gittiğiniz zaman karşınıza aşağıdaki resimde görüldüğü gibi uzun bir tablo çıkacaktır. Bu tablodan memory_limit sekmesini aratın. Karşısında çıkan değer sitenizin güncel memory limitidir.
Memory Limit’ini öğrenmenin bide diğer yoluda WP-Memory-Usage eklentisi kullanmak. Bu eklenti sadece memory limit sınırını göstermekle kalmaz aynı zamanda memory kullanımınızı ve kullandığınız php versiyonunu da gösterir.
Ne kadar Memory ( Belleğe) İhtiyacınız Var?
WordPress’in varsayılan olarak atadığı memory limit 32 mb ile sınırlıdır. Eğer çok fazla eklenti kullanıyor veya trafiğiniz yüksekse, sitenizin 64mb veya üzeri memory limit kullanımına ihtiyacı olabilir.
Eğer ne kadar bellek kullanımına ihtiyaç duyduğunuzdan emin değilseniz WP-Memory-Usage eklentisini kullanmanızda fayda var. Eklentiyi kurup çalıştırdıktan sonra, Memory Usage sekmesine bakın. Eğer memory usage barı kırmızı ise memory limit sınırını arttırmanız gerekiyor demektir.
WordPress Memory Limit Nasıl Arttırılır
Memory Limit Arttırma Yöntem 1 (Config.php Dosyası Üzerinden)
Öncelikle FTP üzerinden wordpress sitenizin serverına bağlanın ve ana dizininde (root) yer alan wp-config.php dosyasını açın ve aşağıdaki kodu içerisine ekleyin.
define(
'WP_MEMORY_LIMIT'
,
'64M'
);
Evet, memory limitimizi varsayılan olarak kullanılan 32mb‘tan 64mb‘a çıkardık. Memory limit hatası bu işlemi uyguladıktan sonra ortadan kalkacaktır.
Memory Limit Arttırma Yöntem 2 (.htaccess Dosyası Üzerinden)
.htaccess doyasınıza FTP üzerinden yada cPanel üzerinden bağlanarak aşağıdaki satırı .htaccess dosyanızın içerisine ekleyin.
php_value memory_limit 64M
.htaccess dosyasına bu satırı ekleyerek, varsayılan olarak atanan 32mb‘lık memory limit sınırlamasını 64mb‘a çıkarmış olduk.
Memory Limit Arttırma Yöntem 3 (Php.Ini Dosyası Üzerinden)
Bir çok host firması kullanıcıları için php.ini dosyasına erişimi engeller ( özellikle paylaşımlı hosting kullananlara ). Eğer php.ini dosyanıza erişim yetkiniz varsa aşağıdaki yöntemide uygulayabilirsiniz.
Yukarıda anlattığım gibi serverınızda view-php-info.php adında yeni bir dosya oluşturun ve bu sefer “Loaded Configuration File” sekmesini aratın. Php.ini dosyanızın lokasyonunu buradan öğrenebilirsiniz.
Php.ini dosyanızın lokasyonunu öğrendikten sonra dosyaya giriş yapın ve 32mb olan memory limit sınırlamasını 64mb yada 128mb yapın. Eğer php.ini sayfanızda memory_limit sekmesi yoksa sayfanın sonuna memory_limit = 64M; ibaresini ekleyin. Eklemeyi yaptıktan sonra kaydedin ve Apache serverınızı httpd restart emri ile tekrar başlatın.
Önemli: Eğer bu işlemleri yapmanıza rağmen hala bu hatayı alıyorsanız mutlaka host firmanızla iletişime geçin.
Umarım Memory Limit Nasıl Arttırılır – WordPress başlıklı yazımı yararlı bulmuşsunuzdur.Teşekkürlerinizi, yazımı sosyal mecralarda paylaşarak gösterebilirsiniz. Bu benim için fazlasıyla yeterli olacaktır.
Talip isimli arkadaştan Allah razı olsun dediğini yaptım anında düzeldi.
Verdiğiniz bilgiler için teşekkürler. limiti 64mb yapınca 500 Internal Server Hatası çözüldü.
talip isimli arkadaşın dediğini yapınca direk düzeldi tavsiye ederim. çok teşekkürler.
ne diyeceğimi bilemedim ya ulan varya Allah sizden 1000 kere 10.000 kere ve hatta 100.000 razı olsun ulan ya siz çok iyi birisiniz ya konu açmadığım forum kalmadı araştırmadığım yabancı site kalmadı çözümü bir türlü bulamamıştım 3 gündür bu dert yüzünden gözüme uyku girmiyordu 64 yabınca anında düzeldi siz nasıl iyi yürekli bi insansınız ya aşırı iyi birisiniz beni sabahın 06:00 ında beni mutlu ettiniz ya Allahta sizi mutlu etsin ulan ya siz çok iyi yürekli bi insansınız normalde hiç bir bloga üye olmam ama siz hakettiniz size abone olacağım bide bos yere hosting firmasından süpheleniyordum onların suçu yokmuş baska yerden host alacaktım bosuna para verecektim beni o derten kurtardınız boşuna para vermeme gerek kalmadı ne dicemi bilemiyorum siz gerçekten çok iyi birisiniz sağolun var olun teşekkür ederim ulan çok sevindim ya sorunu sonunda çözdüm neyse çok konuştum size son kez teşekkür ediyorum ama ne kadar teşekkür etsemde az az bile yazdım
Çok teşekkürler. wp-config dosyasını değiştirmeme rağmen düzelmiyordu. view-php-info dosyasını oluşturup inceleyince config dosyasındaki değişikliğin işe yaramadığını gördüm. php.ini dosyasında değişiklik yapınca memory limit’i arttırabildim. Çok faydalı bir makale. Emeğinize sağlık.
En hızlı ve kolay çözüm
/wp-includes/default-constants.php dosyasını bul ve define( ‘WP_MEMORY_LIMIT’, ’40M’ ); değerini istediğin kadar arttır.
Merhaba Burak.
Php sürümünü nasıl yükseltebilirim? Şuan 5.2.17 ama bunun 5.5 veya üstü olması gerekiyor. Galiba en yükseği olursa iyi olabilir?
Fakat bunu cpanelden yükseltemiyorum. Yükseltmem engellenmiş. Native yazıyor. Supporta mesaj attım, “yükselttim” dedi. O da Php sürümünü yükselten bir kod yüklemiş. Ama oda işe yaramadı. Bana verebileceğin bir tavsiye var mı? Teşekkürler.
Hocam bu sizin yapabileceğiniz bir şey değil. Hosting firmanızın yapabileceği bir şey. Ancak onlarda tek bir kişinin isteği ile php sürümü yükseltmezler. Çünkü php sürümü yükselttiklerinde tüm kullanıcıları için php sürümü yükselecektir. Yani hosting firması bu sürümler için lisans ücretleri ödüyor. O yüzden yükselteceklerini hiç zannetmiyorum. Size tavsiyem host değiştirmeniz.
çok faydalı oldu saolasın.
Ben bu 3 secenegide yaptim fakat hala ayni sorun var neyden kaynakli olabilir ki baska ?
hocam çok teşekkür ediyorum 1 gün boynca araştırdım en sonnda kafayı sıyıracaktımki htacces dosyası için verdiğiniz bilgileride girince düzeldi
/usr/ de diyor ama ana dizinde usr yok hocam bende
eyvallah hocam. ıhs çözemedi biliyomusunuz bu hatayı :)
Bilgilendirme için sağol dostum.