Bilgi
Memory Limit Hatası Nedir? Memory Limit Nasıl Arttırılır? – WordPress
Özellikle WordPress kullanıcıların son zamanlarda karşılatığı hatalardan bir tanesi yeni bir eklenti yükleme veya eklenti güncelleme esnasında görülen “Memory Limit Hatası” konusunda bilgi vermeye çalışacağım. İnanılmaz bir şekilde “CPU Harcayan” eklentilerin WordPress sitenizin sayfasında gösterdiği “memory limit hatası” genellikle aşağıdaki uyarıya benzer olduğunu hatırlatalım. Bu hatayı almanızdaki ana sebep, sitenizin default-varsayılan olarak atanan “bellek kullanım limitini” aşılması. Bu yazımızda sizlere adım adım memory limit arttırmayı anlatmaya çalışacağız.
“Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7896 bytes) in ….”
Web Sitenizin Memory Limitin Ne Kadar Olduğunu Öğrenmek
Bu çok kısım çok önemli olmasada Memory Bellek Limitini öğrenmek isteyenler bu bölümü inceleyebilir. Öncelikle yapmamız gereken web sitenizin memory limit sınırının kaç MB (Megabayt) olduğunu öğrenmek. Memory limit sınırını öğrenmek için en çok başvurulan bu yöntemde; Sunucu/Server’ınızda “view-php-info.php” adında yeni bir dosya oluşturun ve aşağıda vermiş olduğumuz kodu dosya içerisine ekleyin. Yeni dosyanızı oluşturduktan sonra tarayıcınızdan/browserdan oluşturduğunuz yeni dosyanın url adresine yani, http://www.websiteniz.com/view-php-info.php url adresine gidin. Bu verdiğimiz adrese gittiğinizde karşınıza aşağıdaki şekilde görüldüğü gibi bir tablo çıkacaktır. Bu tablodan memory_limit sekmesini aratın. Karşısında çıkan bu değer sitenizin güncel memory limitini göstermektedir.
<?php phpinfo(); ?>
Memory Limit’ini öğrenmenin diğer bir yoluda WP-Memory-Usage eklentisi kullanmak. Bu eklenti sadece “memory limit sınırını” göstermenin dışında aynı zamanda memory kullanımınızı ve kullandığınız php versiyonunu da göstermektedir. Yukarıdaki işlem biraz zor gelebilir. Bu nedenle eklenti kullanmanızı tavsiye ederim.
Ne kadar Memory ( Belleğe) İhtiyacınız Var?
WordPress’in default olarak yani varsayılan değer olarak atadığı memory limiti 32 mb ile sınırlıdır. Eğer çok fazla sayıda eklenti kullanıyorsanız veya trafiğiniz artık yükselmişse sitenizin 64mb veya üzerinde memory limit kullanımına ihtiyacı olacaktır. Sitenizi ilk kez açtığınızda herhangi bir sorun olmayacaktır. Ancak zamanla yeni eklentiler ve ziyaretçi sayısının artmasıyla her webmaster’ın karşılaştığı bu sorunla sizde karşılacaksınız.
Eğer kullanacağınız bellek miktarı konusunda bir fikriniz yoksa WP-Memory-Usage eklentisini kullanmanızda fayda var diye düşünüyoruz. Eklentiyi kurup çalıştırın ardından Memory Usage kısmına bakın. Eğer memory usage sekmesi kırmızı ise memory limit sınırını arttırmanız gerekiyor gibi bir anlam çıkacaktır.
Peki “WordPress Memory Limit” Nasıl Arttırılır?
Hemen hatırlatayım bu konu çok çok basit. Birden fazla yolla yapabileceğiniz bir yöntem. Yöntemlerin hepsinide tavsiye ediyorum.
1- Config.php Dosyası Üzerinden Memory Limit Arttırma:
Bu yöntemde FTP üzerinden wordpress sitenizin sunucusuna bağlanın ve ana dizininde yer alan “wp-config.php” dosyasını açın ve aşağıdaki kodu içerisine ekleyin. Bu en çok yapılan yöntemlerden bir tanesi olduğunu söyleyebilirim. Yaptığımız bu işlemde memory limitimizi varsayılan olarak belirlenen 32mb‘tan 64mb‘a çıkarmış olduk. Memory limit hatası bu işlemi uyguladıktan sonra ortadan kalkacacağını göreceksiniz.
define(‘WP_MEMORY_LIMIT’, ’64M’);
2- .htaccess Dosyası Üzerinden Memory Limit Arttırma:
.htaccess doyasınıza yukarıdaki işlemdeki gibi FTP üzerinden yada cPanel üzerinden bağlanarak aşağıdaki satırı .htaccess dosyanızın içerisine ekleyin. Bu yöntemde .htaccess dosyasına aşağıdaki satırı ekleyerek, varsayılan (defaulrt) olarak atanan 32mb‘lık memory limit değerini 64mb‘a çıkarmış olduk.
php_value memory_limit 64M
3- Php.ini Dosyası Üzerinden Memory Limit Arttırma:
Bir çok hosting şirketi kullanıcıları için php.ini dosyasına erişimi engeller. Özellikle paylaşımlı hosting söz konusu ise bu durumun ortaya çıkması muhtemelen. Eğer siz php.ini dosyanıza erişim yetkiniz varsa kendinizde aşağıdaki yöntemide yapabilirsiniz. İlk maddede anlattığım gibi sunucunuzda view-php-info.php adında yeni bir dosya oluşturun ve “Loaded Configuration File” sekmesini aratın. Php.ini dosyanızın yerini buradan öğrenebilirsiniz.
Php.ini dosyanızın lokasyonunu öğrendiyseniz devamında dosyaya giriş yapın ve 32mb olan memory limit değerini 64mb yada isterseniz, ihtiyacınıza göre 128mb yapın. Eğer php.ini sayfanızda memory_limit sekmesi bulunmuyorsa sayfanın sonuna memory_limit = 64M; ibaresini ekleyerek işlemi gerçekleştirin. Eklemeyi yaptıktan sonra kaydetmeyi unutmayın ve Apache serverınızı httpd restart komutu ile tekrar başlatın.
4- CPanel/VHM Panel Üzerinden Memory Limit Arttırma:
Bu daha önce başvurduğum yöntemlerinden bir tanesi oldu. Dosyalarlar, ayarlar uğraşmak istemeyenlerin deneyebileceği bir yol. Şimdi size basit bir şekilde nasıl yapıldığını anlatayım. Öncelikle VHM Panele ulaşın. Ardından arama kısmına php yazın ve buradan PhHP Configuration Editor’a gidin.
Açılan pencereden memory_limit kısmını istediğinize göre 64M veya 128M yapın ardından Kaydet deyip çıkın. İşlem bu kadar.
Önemli Not: Eğer yukarıda anlatttığım işlemleri yapmanıza rağmen hala bu hatayı alıyorsanız hosting firmanızla iletişime geçmenizde fayda var.
Kaynak:
- https://www.drupal.org/node/1915140
- https://stackoverflow.com/questions/415801/allowed-memory-size-of-33554432-bytes-exhausted-tried-to-allocate-43148176-byte
- https://docs.woocommerce.com/document/increasing-the-wordpress-memory-limit/
- https://www.wpsolver.com/how-to-increase-memory-limit-through-cpanel/
- http://codingcyber.com/how-to-increase-php-memory_limit-in-whm-cpanel-4535/