• 28-12-2021, 20:21:37
    #1
    Merhaba,

    Bir WordPress tabanlı sitemiz var. Siteye page generator aracılığıyla yazı içi değişkenler aracılığıyla 100 milyon farklı sayfa oluşturacağız ama 23 milyon bandına gelindiği anda panelde sorun olmaksızın site arayüzü memory hatası veriyor ve uyarı mesajı ile kalıyor. Sayfa içerikleri doğrudan DB'den çekiliyor.

    Memory limiti limiti php.ini, htaccess, ve wp-config üzerinden zorlayarak yükseltsek de çözüm olmadı. Dedicated server kullanıyoruz.

    Örnek hata mesajı:
    Fatal error: Out of memory (allocated 1431560192) (tried to allocate 7800032 bytes) in /home/***/public_html/wp-includes/wp-db.php on line 2022

    Nasıl bir çözüm bulunur? 100M sayfa açmak zorundayız ama tıkanmış durumdayız. Sayfa içerikleri 150-200 kelime bandında.
  • 28-12-2021, 20:23:56
    #2
    Merhaba @MBNS;
    WHM Panel var ise MultiPHP Manager üzerinden düzenleme sağlayıp tekrar deneyebilir misiniz?
  • 28-12-2021, 20:35:19
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Umut hocamın dediği yer sanırım buradan limiti arttırabilirsiniz. 256 yeterli olabilir.

  • 28-12-2021, 20:39:45
    #4
    Nwjus adlı üyeden alıntı: mesajı görüntüle
    Umut hocamın dediği yer sanırım buradan limiti arttırabilirsiniz. 256 yeterli olabilir.

    Burada düzenleyi yaptıktan sonra bir php dosyası oluşturup aşağıdaki kodları çalıştırarak ayarlarınızın yansıyıp yansımadığını kontrol edebilirsiniz.

    https://stackoverflow.com/questions/10208698/checking-memory-limit-in-php#:~:text=Try%20to%20convert%20the%20value%20fir st%20(eg:%2064M%20->%2064%20*%201024%20*%201024).%20After%20that,%20d o%20comparison%20and%20print%20the%20result.
  • 29-12-2021, 00:13:36
    #5
    umutyildiz adlı üyeden alıntı: mesajı görüntüle
    Burada düzenleyi yaptıktan sonra bir php dosyası oluşturup aşağıdaki kodları çalıştırarak ayarlarınızın yansıyıp yansımadığını kontrol edebilirsiniz.

    https://stackoverflow.com/questions/10208698/checking-memory-limit-in-php#:~:text=Try%20to%20convert%20the%20value%20fir st%20(eg:%2064M%20->%2064%20*%201024%20*%201024).%20After%20that,%20d o%20comparison%20and%20print%20the%20result.
    30GB kadar çıkardım yine çözülmüyor hocam. PHP Info dosyası oluşturdum memory limiti oradan da teyit ettim 30GB olarak görünüyor ama WP hata mesajı şu şekilde:

    Fatal error: Out of memory (allocated 1454231552) (tried to allocate 9750032 bytes) in /home/***/public_html/***/wp-includes/wp-db.php on line 2022

    Basit bir hesapla 1386.86 MB olan ihtiyaca 30GB neden cevap vermiyor ki?
  • 29-12-2021, 00:14:05
    #6
    Site sağlığını da kontrol ettiğimde veriler şu şekilde:

    Sunucu mimarisi Linux 3.10.0-1160.49.1.el7.x86_64 x86_64
    Web sunucu LiteSpeed
    PHP sürümü 8.0.14 (64bit değerleri destekliyor)
    PHP SAPI litespeed
    PHP en fazla giriş değişkenleri 2000
    PHP zaman sınırı 30
    PHP bellek sınırı 30000M
    Maksimum giriş süresi -1
    En fazla dosya yükleme boyutu 18M
    PHP en yüksek gönderim boyutu 20M
    cURL sürümü 7.80.0 OpenSSL/1.1.1m
    SUHOSIN kurulumu? Hayır
    Imagick kütüphanesi mevcut mu? Hayır
    Güzel kalıcı bağlantılar destekleniyor mu? Evet
    .htaccess kuralları .htaccess dosyanıza özel kurallar eklendi.
  • 29-12-2021, 11:42:48
    #7
    Merhaba,

    Bu durumlarda sadece PHP konfigürasyonu yeterli olmayacağından, sunucunuzun my.cnf konfigürasyonunu da sitenize göre yapılandırmanız gerekiyor. Bu işlemler basit değildir. Ciddi bir analiz gerekir. Aynı zamanda MySQL çalışması gerektirir. Çünkü bahsettiğiniz sayfaların veritabanıyla olan işlevini hesaplayıp sunucuyu da dahil edip ona göre yapılandırmak daha iyi olur. Bir de tablo yapıları nedir, select/insert hangisinde ne sıklıkla kullanılıyor gibi hepsine bakmak gerekir ki, finalde my.cnf ona göre yapılandırabilsin. Ama unutmadan, bu işlemleri yapmadan önce mutlaka veritabanı yedeğini almalısınız.