Popüler Aramalar:  TLS Nedir?  MyBB SSL Ayarları  MyBB 1.8 Linkleri Gizleme Eklentisi  Wordpress LiteSpeed Cache Ayarları  Wordpress Eklentisiz Breadcrumb  Yandex Webmaster
PHP Out of Memory Hatası Nasıl Çözülür?

PHP Out of Memory Hatası Nasıl Çözülür?

Son günlerde WordPress ve WordPress eklentilerine gelen güncellemeler sonucunda kişisel blog sayfamın hata kayıtları günlüğünde çok fazla bu hatayı görmemden ötürü araştırma yaptım ve araştırmam sonucunda bulduğum çözümü uyguladım ve sorunum ortadan kalktı.

FTP kök dizininde eğer sitenizde bir teknik sorun var ise bunun kayıtlarının tutulduğu bir error_log dosyası mevcuttur. Bu dosya içerisinde sitenizde çalışan eklentiler, bileşenler bir hata ile karşılaştıklarında hatanın ne olduğunu ve nereden kaynaklandığını kayıt ederler. Bu sayede oluşan bu teknik hataları çözebilirsiniz. Benim karşılaştığım hata ise php out of memory hatası idi.

Karşılaştığım Hata

[09-May-2019 19:23:10 UTC] PHP Fatal error:  Out of memory (allocated 10485760) (tried to allocate 32768 bytes) in /home/anadizin/public_html/wp-includes/post.php on line 6475

Bu hatayı yorumlayacak olursak hata bana şunu diyor; post.php dosyasında bulunan 6475. satırda ki kodu çalıştırmaya çalıştığımda bana 10485760 boyutunda bir istek yapıyor ancak php ayarlarınızda ancak 32768 byte’lık isteğe cevap verebiliyor ve bundan dolayı istek out of memory oluyor. 104 byte’lık bir istek geliyor ancak sunucuda sadece 32 byte’lık bir isteği karşılayabiliyor.

Gerekli süre: 30 dakika.

Adım Adım PHP out Of Memory Hatası Nasıl Çözülür?

  1. PHP Out of Memory Hatası Neyden Kaynaklanıyor?

    PHP’de sıklıkla karşılaşılan out of memory hatası neyden kaynaklanıyor sorusuna cevap vereceğim.

  2. PHP Out of Memory Hatası Nasıl Çözülür?

    İki farklı ve bir bonus yöntem ile php out of memory hatasının nasıl çözüleceğini adım adım anlatacağım.

  3. (Bonus) WordPress’de PHP Memory Limit (Hafıza Sınırı) Nasıl Artırılır?

    WordPress kullanıcıların için php memory limitini nasıl artıracaklarını basit bir yol ile anlatmaya çalışacağım.

PHP Out of Memory Hatası Neyden Kaynaklanıyor?

Bu hatanın nedeni sunucun PHP işlemleri için sınırlandırmış olduğu hafıza limitinden kaynaklanmasıdır. Çok fazla php isteklerinin önüne geçilmesi için bir memory_limit özelliği vardır php’de. Bu memory limiti php ayarlarının bulunduğu php.ini dosyasında mevcuttur.

Bu hafıza limiti ne oluyor? derseniz eğer şöyle açıklayayım. PHP işleyicisine gelen isteklerin boyutunu belirliyor. Gelen bu istekler geçici olarak php önbelleğine alınıyor ve daha sonra sırayla işleniyor işte bu geçici olarak belleğe alınacak istek boyutunu memory_limit fonksiyonu ile ayarlayabiliyorsunuz.

64M’dan başlayıp 512M’a kadar ayarlanabiliyor. Genel olarak hosting sağlayıcıları bu ayarı 128M’da tutmaktadır. Bu genelikle yeterli geliyor ancak benim karşılaştığım gibi bazı durumlarda bu limit yeterli gelmiyor ve artırılması gerekiyor ki bu tarz out of memory hatası almayalım.

PHP Out of Memory Hatası Nasıl Çözülür?

Bu hatayı çözmenin 2 yolu mevcut. Bunlardan ilki php.ini dosyasında ki memory_limit satırının düzenlemesi ve Apache/Nginx’in yeniden derlenerek sunucunun yeniden başlatılmasıdır. İkinci çözüm ise paylaşımlı bir hosting kullanıyorsanız eğer cPanel’in Select PHP Version eklentisini kullanarak düzenleme yapmaktır.

1.Çözüm: php.ini dosyasını düzenlemek

Bir sanal sunucu, vps/vds kullanıyorsanız eğer sunucunuzun kontrolü sizde olduğu için araya ekstra bir panel sokmadan bu düzenlemeleri kendiniz yapabilirsiniz. Sunucuzun php ayarlarının bulunduğu php.ini dosyasını bir kod editörü yardımı ile açın ve memory_limit adlı satırı bulun ve orada ki değeri yükseltin.

memory_limit = 512M

En yüksek değer olarak 512M değerini verebilirsiniz. Bu kısımda verebileceğiniz değerler;

  • 64M
  • 128M (Varsayılan olarak ayarlanır genelde.)
  • 192M
  • 256M
  • 368M
  • 512M

Sizde ki değer ne ise onu yükselterek php out of memory hatasını giderebilirsiniz. Gerekli düzeltmeleri yaptıktan sonra php.ini dosyasını kaydettikten sonra Apache ya nginx’i tekrar derleyerek sunucunuzu yeniden başlatın.

2.Çözüm: cPanel’in Select PHP Version Özelliğini Kullanarak Düzenlemek

Bu oldukça basit ve herhangi bir kod bilgisi gerektirmeden yapabileceğiniz bir işlemdir. Eğer, hosting sağlayıcınız bu özelliği kullanmanıza izin vermişse bu işlemi gerçekleştirebilirsiniz. cPanel’de oturum açarak aşağıda ki görselde yer alan Select PHP Version alanına tıklayalım.

2.Çözüm: cPanel'in Select PHP Version Özelliğini Kullanarak Düzenlemek

2.Çözüm: cPanel’in Select PHP Version Özelliğini Kullanarak Düzenlemek

Select PHP Version özelliğine tıkladıktan sonra açılan pencerede aşağıda ki görselde kırmızı çerçeve ile gösterdiğim Switch to PHP Options bağlantısına tıklayın.

cPanel PHP Selector Switch to PHP Options
cPanel PHP Selector Switch to PHP Options

Bu bağlantıya tıkladıktan sonra karşınıza çeşitli php ayarlarının listelendiğini göreceksiniz. Bu listeden memory_limit adlı ayar satırını bulmanız gerekiyor. Bu ayar satırını bulduktan sonra hemen karşısında mevcut ayarlarınıza ait boyut limitinin olduğunu göreceksiniz, mevcut boyutun üzerine tıklayın ve açılır panelden mevcut boyuttan daha yüksek bir boyutu seçip kaydedin.

cPanel PHP memory_limit Ayarları
cPanel PHP memory_limit Ayarları

memory_limit ayarının karşısında boyuta tıkladıktan sonra açılır bir menü çıkacak oradan istediğiniz boyutu seçin ve hemen sağında çıkan “Uygula” butonuna tıklayın. Daha sonra bu ayar php.ini dosyasını eklenecek fakat geçerli olması için en altta yer alan “Kaydet” butonuna tıklamanız gerekiyor.

Gerekli ayarlamaları yaptıktan sonra artık php out of memory hatasını çözmüş olacaksınız.

WordPress’de PHP Memory Limit (Hafıza Sınırı) Nasıl Artırılır?

WordPress’de PHP’nin memory_limit sayısını artırmak oldukça kolay bir işlemdir. WordPress’in kurulu olduğu dizinde bulunan wp-config.php dosyasını bir kod editörü yardımı ile açın ve aşağıda ki satırı uygun bir yere ekleyin (tavsiyem dosyanın en son satırına eklemenizdir.)

define('WP_MEMORY_LIMIT', '126M');

Hatırlatma! Sunucu sağlayıcınız bu hafıza limitini düşük tutuyor olabilir bu yüzden yükseltme yapmadan önce hosting sağlayıcınızın sağladığı limitleri kontrol ediniz veya sorunuz. Kendinize ait bir sanal sunucunuz (vps/vds) var ise sunucu kapasitesine göre bu limiti arttırın ya da azaltın.

Yararlanılan Kaynaklar:

 Yazı Bağlantısını Kopyala & Paylaş

Benzer Yazılar

  • VDS ve VPS Arasındaki Farklar Nelerdir?

    VDS ve VPS Arasındaki Farklar Nelerdir?

    Yaklaşık 5-6 ay önce kişisel blog sitemi bir cloud vps sunucuda barındırıyordum ancak doların bir hayli yükselmesiyle daha uygun fiyatlı bir sunucuya geçiş yapmam gerekti. 1-2 yıllık sunucu tecrübemden dolayı bu işlemleri rahatlıkla yapabildim ancak bu yazımda sanal sunucular hakkında bilgisi olmayan ya da tecrübesi olmayanlar için VPS (Virtual Private…
  • WordPress’te Birden Fazla Yazı Kısaltma Fonksiyonu Nasıl Yapılır?

    WordPress’te Birden Fazla Yazı Kısaltma Fonksiyonu Nasıl Yapılır?

    Wordpress'te varsayılan olarak blog yazıları 55 kelime kısaltılmakta. Wordpress'in yazı uzunluğu filtreleme fonksiyonu kullanılarak bu varsayılan değeri değiştirebiliyoruz ve bu değiştirdiğimiz de sadece bir yerde kullanabiliyoruz, peki ya birden fazla alanda farklı kelime uzunlukları kullanmak istiyorsak? Birden fazla yazı türüne sahip bir internet sitesi geliştiriyorsanız, her farklı alan için farklı…
  • Debian 9’a MariaDB Nasıl Kurulur?

    Debian 9’a MariaDB Nasıl Kurulur?

    Bu blog yazımda dünyanın en çok tercih edilen, ücretsiz ve açık kaynak kodlu oldukça stabil, hızlı ve çeşitli modüller ile desteklenebilen veri tabanı sunucusu olan MariaDB'yi Debian 9 işletim sistemine nasıl kuracağınızı göstereceğim. MariaDB, oldukça hızlı, kararlı ve ölçeklenebilir bir MySQL veritabanı sunucusunun geliştirilmiş,eskiye dönük yazılımlarla tam uyumlu çalışabilen, drop-in…
  • VestaCP Varsayılan Portu (8083) Nasıl Değiştirilir?

    VestaCP Varsayılan Portu (8083) Nasıl Değiştirilir?

    VestaCP varsayılan olarak 8083 portu üzerinde çalışmaktadır. Bazı güvenlik endişesi durumlarında bu portun değiştirilmesi önerilir. Çok kolay bir şekilde birkaç adım ile bu portu kendinize göre düzenleyebilirsiniz. Seçeceğiniz port numarası rastgele sayılardan ibaret değildir. Örneğin cPanel 2082 ve 2083, 2087 portlarını kullanılır bu portlar Dünya genelinde tüm teknolojik cihaz ve…
PHP Out of Memory Hatası Nasıl Çözülür? için Yorum'da Bulun

Bir Cevap Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

 Lütfen, en az 15 karakterli bir yorum belirtiniz.

 Lütfen,isminizi belirtiniz.
 Lütfen, kullanmakta olduğunuz bir e-mail adresi giriniz.
 Yukarıda ki alanı işaretlemeniz zorunludur.Aksi takdirde yorumunuz gönderilemeyecektir.