ENBirlikte üretelim
← Argo Ajans

WordPress

WordPress allowed memory size hatası nasıl çözülür? Adım adım rehber

Ramazan Göksu ·

WordPress allowed memory size hatası nasıl çözülür? Adım adım rehber

Kısa yanıt

WordPress’te Allowed memory size of X bytes exhausted (tried to allocate Y bytes) mesajıyla karşılaşmak, sitenizin veya yönetim panelinizin PHP’ye tanınan bellek sınırını aştığı anlamına gelir. Bu bir çökme veya veri kaybı değildir; PHP kendisine ayrılan belleği tükettiği an, çalışmayı kendiliğinden ve güvenli biçimde durdurur.

WordPress allowed memory size hatası nasıl çözülür sorusunun kısa yanıtı şudur: önce wp-config.php içinden WP_MEMORY_LIMIT sabitini yükseltin, hata sürüyorsa sunucu tarafındaki PHP bellek limitini hosting panelinden veya php.ini üzerinden artırın. Çoğu site için bu, beş dakikadan kısa sürede biten bir ayar değişikliğidir. Hata ısrarla geri geliyorsa asıl mesele genellikle bellek açlığı çeken tek bir eklenti veya kötü yazılmış bir sorgudur; limiti sürekli büyütmek, bulunması gereken kaynağı gizlemekten başka bir işe yaramaz.

WordPress’te “Allowed memory size” hatası neden görünür?

PHP, her bir sayfa isteğini çalıştırırken kendisine memory_limit adıyla verilen bir üst sınırı aşamaz; bu sınır, tek bir hatalı kod parçasının sunucunun tüm belleğini tüketmesini önlemek için konmuştur. WordPress çekirdeği, bu değeri kendi varsayılanlarıyla da yönetir: tekil sitelerde 40M, çoklu site (multisite) kurulumlarında 64M. Bu varsayılanlar, projenin kendi kaynak kodundaki sabit tanımlarında açıkça görülebilir.

Modern bir temanın, birkaç popüler eklentinin ve bir sayfa oluşturucunun aynı anda çalıştığı bir kurulumda 40M çoğunlukla yetersiz kalır. Özellikle şu durumlarda hata görünme olasılığı artar:

  • Büyük görselleri toplu olarak yeniden boyutlandıran bir eklenti
  • Çok sayıda ürünü veya siparişi aynı anda işleyen bir e-ticaret eklentisi
  • Yedekleme eklentisinin tüm siteyi tek seferde sıkıştırmaya çalışması
  • Sonsuz döngüye giren veya bellek sızdıran hatalı bir eklenti kodu
  • Paylaşımlı hostingte başından beri düşük tutulan bir sunucu bellek limiti

Bu listedeki ortak nokta, hatanın genellikle “bir anda” değil, sitenin içerik ve eklenti sayısı büyüdükçe ortaya çıkmasıdır. Küçük bir blogda hiç görünmeyen bu hata, aynı kurulum büyük bir katalog veya yoğun trafik aldığında aniden belirebilir.

WordPress allowed memory size hatası nasıl çözülür?

Rastgele dosya silmeden önce doğru sırayla ilerlemek, sorunu büyütmeden çözmenin tek garantili yoludur. Önce mevcut durumu değiştirmeden teşhis koyun, sonra bellek limitini yükseltin, hâlâ sorun varsa kaynağı tüketen bileşeni ayıklayın.

İlk adım, wp-config.php dosyasını FTP veya hosting panelinizin dosya yöneticisiyle açıp aşağıdaki satırları eklemektir (zaten varsa false olan değerleri true yapmanız yeterlidir):

Define( 'WP_DEBUG', true );
Define( 'WP_DEBUG_LOG', true );
Define( 'WP_DEBUG_DISPLAY', false );

WP_DEBUG_DISPLAY değerini bilerek false bırakmak önemlidir; aksi halde hata mesajı, siteniz canlı yayındayken tüm ziyaretçilere açık biçimde görünür hale gelir.

debug.log’da hangi satırı arayacaksınız

Değişikliği kaydettikten sonra hatayı tekrar tetikleyin (örneğin aynı sayfayı yeniden açarak) ve wp-content/debug.log dosyasını inceleyin. Aradığınız satır genellikle şuna benzer bir biçimde başlar: PHP Fatal error: Allowed memory size of 41943040 bytes exhausted. Satırın devamında hangi dosyanın belleği tükettiği çoğu zaman açıkça yazar; bu bilgi varsa, aşağıdaki genel adımları denemeden doğrudan o eklentiyi devre dışı bırakabilirsiniz.

wp-config.php ile WP_MEMORY_LIMIT değerini yükseltin

Debug.log net bir işaret vermiyorsa veya sorunu hızlıca ortadan kaldırmak istiyorsanız, önce WordPress’in kendi bellek sınırını yükseltin. Aynı wp-config.php dosyasına, “Düzenlemeyi durdurun” yorumundan önce şu satırı ekleyin:

Define( 'WP_MEMORY_LIMIT', '256M' );

256M, küçük ve orta ölçekli çoğu site için yeterli bir başlangıç değeridir. Değişikliği kaydedip siteyi yeniden test edin; hata burada kesiliyorsa sorun çözülmüş demektir. Hâlâ aynı mesajı görüyorsanız, muhtemelen sunucu seviyesinde bu değeri geçersiz kılan daha düşük bir PHP limiti vardır.

Yönetim panelinde ayrı bir limit olan WP_MAX_MEMORY_LIMIT nedir?

Yönetim paneli (wp-admin), ön yüze göre genellikle daha fazla belleğe ihtiyaç duyar; eklenti güncellemeleri, medya kitaplığı ve gösterge paneli widget’ları aynı anda yüklenir. Bu nedenle WordPress, admin tarafı için ayrı ve daha yüksek bir sabit kullanır:

Define( 'WP_MAX_MEMORY_LIMIT', '512M' );

Bu iki sabiti karıştırmamak önemlidir: WP_MEMORY_LIMIT sitenin genel çalışma zamanı için geçerlidir, WP_MAX_MEMORY_LIMIT ise yalnızca yönetim paneli isteklerinde devreye girer. Hata sadece bir eklentiyi güncellerken veya içe aktarma yaparken çıkıyorsa, önce bu ikinci sabiti yükseltmek daha isabetli bir adımdır.

Sunucu tarafında php.ini veya .htaccess ile limiti artırma

wp-config.php içindeki değer, sunucunun kendi PHP yapılandırmasındaki genel bir üst sınırı aşamaz; sunucu 128M diyorsa WordPress’e 256M yazmanız bir şeyi değiştirmez. Erişiminiz varsa php.ini dosyasında memory_limit = 256M satırını bulup güncelleyin. Doğrudan erişiminiz yoksa, bazı paylaşımlı hostinglerde kök dizindeki .htaccess dosyasına aşağıdaki satırı eklemek de işe yarayabilir:

Php_value memory_limit 256M

Bu satırın etkili olup olmaması tamamen hosting sağlayıcınızın sunucu yapılandırmasına bağlıdır; bazı sunucular .htaccess üzerinden PHP değerlerinin değiştirilmesine izin vermez. Değişiklik hiçbir fark yaratmıyorsa, bir sonraki adım doğrudan destek ekibiyle görüşmektir.

Belleği tüketen eklenti veya temayı nasıl bulursunuz?

Limiti yükseltmek hatayı anlık olarak susturur, ama kaynağı değil nedeni tedavi eder. Belleği asıl tüketen bileşeni bulmak için klasik yöntem, eklentileri tek tek devre dışı bırakmaktır: wp-content/plugins klasörünün adını geçici olarak değiştirin, WordPress tüm eklentileri otomatik olarak pasif kabul eder ve site genellikle normale döner.

Ardından klasörü eski adına çevirip eklentileri panel üzerinden birer birer yeniden etkinleştirin, her birinden sonra siteyi kontrol edin. Hata hangi eklenti açıldığında geri geliyorsa, sorumlu bulunmuş olur; bu eklentiyi güncelleyin, daha hafif bir alternatifle değiştirin veya geliştiricisiyle doğrudan iletişime geçin. Aynı disiplin, sitenin genel yavaşlama sorunlarını araştırırken de işe yarar; konuyu daha geniş ele alan WordPress beyaz ekran hatası rehberimize de göz atabilirsiniz.

Hosting sağlayıcınızla ne zaman iletişime geçmelisiniz?

Yukarıdaki adımların hiçbiri kalıcı bir çözüm sağlamıyorsa, sorun büyük olasılıkla paylaşımlı hostingin sabit kaynak kotasındadır. Böyle bir durumda destek ekibine debug.log’daki tam hata satırını, denediğiniz WP_MEMORY_LIMIT değerini ve sitenizin hangi eklentileri çalıştırdığını net biçimde aktarmak, çözümü hızlandırır. Bazı hosting planlarında bellek sınırı paket seviyesine bağlıdır ve yükseltme, ancak bir üst pakete geçilerek mümkün olur.

Diğer WordPress hatalarıyla ilişkisi

Bellek tükenmesi, farklı WordPress hatalarının arkasında sık görülen gizli bir nedendir. Ki tablo bu ilişkiyi özetler.

Hata Bellekle ilişkisi İlk kontrol
500 Internal Server Error Bellek tükenmesi bazen bu genel hata olarak görünür debug.log ve sunucu hata kaydı
Beyaz ekran (hiç mesaj yok) WP_DEBUG_DISPLAY kapalıyken bellek hatası sessiz kalır WP_DEBUG_LOG açıp debug.log’u okuma
Eklenti güncellemesi zaman aşımına uğruyor Güncelleme sırasında geçici bellek ihtiyacı normalin üstüne çıkar WP_MAX_MEMORY_LIMIT değeri
Medya yükleme veya toplu içe aktarma donuyor Büyük dosya işleme belleği tek seferde tüketebilir Dosya boyutu ve eklentinin toplu işlem ayarı

Bu tablodaki her satır aynı kök nedene, PHP’nin isteği karşılayacak belleği bulamamasına çıkar. Bu yüzden farklı bir hata mesajı görseniz bile, bellek limitini kontrol etmek genellikle ilk beş dakikalık teşhisin bir parçası olmalıdır. 500 hatasıyla karşılaştıysanız, konuyu ele alan 500 internal server error rehberimize bakabilirsiniz.

Hatayı tekrar yaşamamak için

WordPress allowed memory size hatası, büyük ölçüde önlenebilir bir sorundur. Eklenti sayısını gerçekten kullanılanlarla sınırlı tutmak, güncellemeleri önce bir hazırlık (staging) ortamında test etmek ve hosting planını sitenin gerçek trafiğine göre seçmek, bu hatayla tekrar karşılaşma olasılığını büyük ölçüde azaltır. Kataloğu büyük bir e-ticaret sitesiyse, bellek ihtiyacı normalin üzerinde olacağından sunucu seçimini buna göre yapmak özellikle önemlidir.

Sonraki adım

WordPress allowed memory size hatası nasıl çözülür sorusunun pratik yanıtı; önce bellek limitini doğru sırayla yükseltmek, sonra kaynağı tüketen eklentiyi bulup kalıcı olarak düzeltmektir. Sorun sunucu tarafında ısrar ediyorsa veya sitenin kapasitesini aştığına dair tekrarlayan bir belirtiyse, profesyonel bir teknik değerlendirme zaman kaybını önler. WordPress kurulumlarını kapasite planlamasıyla birlikte ele almak isteyen işletmeler için grup şirketimiz Web Tasarım Ofisi WordPress teknik bakım ve altyapı danışmanlığı konusunda destek veriyor.

Sitenizin teknik altyapısını veya özel yazılım ihtiyaçlarınızı birlikte değerlendirmek için özel yazılım hizmetimizi inceleyebilir ya da bizimle iletişime geçebilirsiniz.

Sıkça sorulan sorular

WordPress allowed memory size hatası veri kaybına yol açar mı?

Hayır. PHP, kendisine tanınan bellek sınırını aştığında işlemi güvenli biçimde durdurur; dosya veya veritabanı bozulması yaşanmaz. Riskli olan, hatayı görünce panikle rastgele dosya silmek veya eklenti kaldırmaktır.

WP_MEMORY_LIMIT'i ne kadar yükseltmeliyim?

256M çoğu site için yeterli bir başlangıç değeridir. Hata devam ediyorsa 512M deneyebilirsiniz; ancak limiti sürekli büyütmek yerine belleği gerçekten tüketen eklenti veya işlemi bulmak daha kalıcı bir çözümdür.

wp-config.php'ye eklediğim satır işe yaramazsa ne yapmalıyım?

Hosting sağlayıcınızın PHP için ayrı bir sunucu seviyesi bellek limiti olabilir; bu durumda WP_MEMORY_LIMIT etkisiz kalır ve limiti hosting panelinden veya php.ini üzerinden yükseltmeniz gerekir.

Hata yalnızca yönetim panelinde mi, yoksa sitenin önünde de mi çıkar?

İkisinde de çıkabilir. Yönetim paneli genellikle daha fazla bellek ister; bu yüzden WordPress, WP_MAX_MEMORY_LIMIT adında ayrı ve daha yüksek bir sabitle admin tarafını farklı sınırlandırır.

Hangi eklentinin belleği tükettiğini nasıl anlarım?

debug.log dosyasındaki hata satırı genellikle hangi dosyanın belleği tükettiğini gösterir. Net bir iz yoksa eklentileri tek tek devre dışı bırakıp siteyi her adımda kontrol ederek sorumluyu bulabilirsiniz.

Bu konuda yardım mı lazım?

Özel Yazılım

Hizmeti inceleyinHemen iletişime geçin
İyi işler, iyi bir konuşmayla başlar.

Birlikte
iz bırakalım.

İzmir ofis
Tariş Cd. (1497. Sok.) No. 5C Ofis P22
35230 Alsancak, İzmir, Türkiye
Birleşik Krallık ofis
167 Sheen Lane
SW14 8NA London, United Kingdom
Kayseri ofis
Sahabiye Mh. Buyurkan Sok. No.29
38015 Kocasinan, Kayseri, Türkiye
Projenizi bize anlatın