Wordpress hafıza artırmak için yapılması gerekenleri ve sorunun nedenleri ile ilgili açıklamaları açıklayarak ve çözümün nasıl olacağı üzerinde yazarak başlayalım.
Wordpress sitenizde “Allowed Memory Size Exhausted” gibi bir hata alıyorsanız yani sistem size yeterli hafıza alanı yok diyorsa bu hatanın nedenlerini ve çözüm yöntemlerini yazımızda bulabilirsiniz.
Konu İçeriği
WordPress Memory Exhausted Hatası Nedir
Bildiğiniz gibi wordpress PHP dili yazılmış sunucu taraflı bir programlama dilidir. Wordpress barındıran (hosting) tüm sunucularda bu programlama dilinin desteği olmak zorunda.
Sunucularda bildiğimiz bilgisayarlar gibidir. Birden çok uygulamayı aynı anda çalıştırabilmek için RAM yani hafızaya ihtiyaç duyarlar. Çoğu sunucuda PHP için ayrılan bellek miktarı sunucu yöneticileri tarafından belirlenir.
Wordpress siteniz daha fazla belleğe ihtiyaç duyduğunda bu hata oluşur. İyi kodlanmamış bir tema, eklenti ya da çok fazla eklenti kullanıyor olmanız buna neden olabilir.
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in ../public_html/wp-includes/plugin.php on line xxx
Hata raporlamalarını görüyorsanız yukarıdakine benzer bir çıktı ile karşılaşabilirsiniz. Yeni wordpress sürümlerinde kabaca kritik bir hata oldu şeklinde uyarı alıyorsanız bununda nedeni olabilir.
64MB dan az hafıza varsa wordpress otomatik olarak PHP hafıza sınırını artırmaya çalışır. Genelde 64MB wordpress için yeterli değildir.
Wordpress Hafıza Artırma
1. .htaccess dosyasını düzenleyerek PHP hafızasını artırma
Sunucunuza bir php dosyası oluşturup içine şu kodları yazarak sunucu hafıza limitini öğrenebilirsiniz.
<?php phpinfo(); ?>
Bu dosyayı atıyorum info.php olarak kaydedin ve tarayıcınızdan bu dosyayı ziyaret edin. memory_limit isimli değişkenin karşısında iki sütun olur birisi Local Value önceden belirlenmiş ayarları ve bizim htaccess ya da user.ini içerisinde sunucuya söylediğimiz değerleri taşır. Burada yer alan Master Value sunucu için önceden belirlenmiş ayarları çoğu durumda da sınırılarınız belirtir. Yani burada yer alan değerlerden daha üst seviyelere normal şartlarda çıkamamamız gerekir ancak piyasada gördüğüm bir çok sunucu yöneticisi bu ayarları kısıtlamayı unuturlar ya da bilerek ayarsız bırakırlar. Böyle durumlarda da biz kendi ayarlarımızı sunucuya istediğimiz gibi okuturuz. Sözü fazla uzattık galiba hemen gerekli kodu verelim:
php_value memory_limit xxxM
.htaccess dosyanızı cpanel, plesk vs. panellerden düzenlemeye çalışıyor ve göremiyorsanız gizli dosyaların görünür olmasını sağlamak için ayarları düzenleyin. Üstte yer alan kodda xxxM kısmı 256M gibi bir değerle ya da işinizi görecek bir değerle değiştirilip .htaccess dosyanızın mümkünse en üstüne yazılır. Ayarların uygulanıp uygulanmadığı test etmek için yukarıda oluşturduğumuz phpinfo() komutunu içeren dosyamızı ziyaret edip test edebilirsiniz.
2. wp-config.php ile Wordpress Hafıza Limitini Artır
Öncelikle wordpress’in kurulduğu ana dizindeki wp-config.php dosyasını düzenleyerek hafızayı artırmaya çalışalım. Bunun için wp-config.php yi açtığınızda son satırlara yakın bir yerde “Hepsi bu kadar. Mutlu bloglamalar” veya ‘That’s all, stop editing! Happy blogging.’ gibi bir mesaj varsa hemen bunun üstüne aşağıdaki kodları yapıştırıyoruz. İşte sorunun çözümü için gerekli kod:
define( 'WP_MEMORY_LIMIT', '256M' );
Bu kodlar wordpress için PHP hafıza limitini 256MB’ a ayarlayacaktır. Online alışveriş yani e-ticaret sistemleri kullanıyorsanız örneğin woocommerce gibi, buradaki ayar için ideal olan 512M ve yukarısı olarak ayarlamaktır (düzenleme:06.05.2021).
Gerekli kodları yapıştırıp sitenize kaydettikten sonra sitenizi tekrar ziyaret edin sorun büyük ihtimalle çözülmüş olacaktır. Bu işlem sorununuzu çözmüyorsa hosting sağlayıcınız hafıza sınırı ile oynamanıza izin vermiyor demektir.
Peki bu işlem sorununuzu çözmemişse 512M yaparak deneyebilirsiniz. Yine çözülmedi ise başka sorunlar da olabilir. Tecrübelerime dayanarak bu zamana kadar karşılaştığım bazı sorunları aşağıda açıklıyorum.
3. Başka Neden Olabilir
- Sunucu, hosting değişikliği: Çözümü genelde dosyalar ve dizinlerin izinlerinin ayarsız olmasından kaynaklanıyor. İzinleri ayarlamanız gerekiyor.Genel anlayış dizinler 0755; dosyalar 0644 olacak şekildedir.
- Birbiri ile uyumlu olmayan eklentiler ve eklenti tema sorunları. Bir güncelleme vs. sonrası başladı ise sorun muhtemelen tek eklentinin kodlarındaki sıkıntılardan olmuştur. FTP ile eklenti dizinin adını değiştirin ya da silin.
- Çok nadiren karşılaştığım bir durum ise: Sunucudaki yine izinlerle alakalı ama çalışan sunucu ve dosyaların sahip:grup izinlerinde ki sıkıntılarda buna neden olabiliyor.
Şu an için aklıma gelen ve bu zaman kadar rastladığım bu hatayla ilişkili olabilecek nedenler bunlar.
Sonuç
Burada yer verilmeyen başka nedenlerden dolayı da wordpress hafıza artırma ile ilgili hatayı almanız mümkün. Wordpress yapısı gereği piyasada ki en fonksiyonel ve en çok kullanılan script olması nedeniyle bu tarz sorunlarla karşılaşılması kaçınılmaz oluyor. Gerektiği terde profesyonel destek alarak sorunlarınızı çözebilirsiniz. Herhangi bir php yazılımı için yeni özellikler, hata temizliği, web sitesi hızlandırma(page speed optimization) geliştirmeler için Webdoktoru‘ndan profesyonel yardım alabilirsiniz.