senin logda iki farklı ama
birbirini etkileyen hata var.
İkisini ayrı ayrı açıklayayım ve
nasıl kalıcı olarak düzelteceğini adım adım anlatayım 👇
🔴 1️⃣ Hata:
Undefined array key "radius" in /wp-content/plugins/elementor/includes/conditions.php on line 87
💡 Anlamı:
Elementorun koşul kontrol dosyasında (conditions.php) bir dizi anahtar (array key) eksik.
Yani radius adında bir parametre bekliyor ama ilgili fonksiyona gönderilmiyor.
Bu, genellikle
bozuk bir widget, tema fonksiyonu veya eklenti uyumsuzluğu nedeniyle olur.
✅ Çözüm adımları:
- Elementoru güncelle.
Güncel değilse önce Elementor ve Elementor Proyu (varsa) son sürüme yükselt.
- Önbelleği temizle.
- WP Rocket, LiteSpeed Cache veya benzeri varsa önbelleği ve CSS/JS dosyalarını temizle.
- Gerekirse tarayıcı önbelleğini de sıfırla.
- Sorunun kaynağını test et:
- Elementor dışındaki tüm eklentileri geçici olarak devre dışı bırak.
- Hata kesiliyorsa, eklentileri tek tek açarak hangi eklentinin radius hatasına yol açtığını bul.
- Genelde Google Maps, konum veya özel widget eklentileri bu parametreyi eksik gönderir.
- Kod düzeltmesi (geçici çözüm):
- /wp-content/plugins/elementor/includes/conditions.php dosyasını aç.
- radius geçen satır civarında (87. satırda) şunu bul:
$radius = $settings['radius']; - Bunu şu şekilde değiştir:
$radius = isset($settings['radius']) ? $settings['radius'] : 0;
- Bu sayede Undefined array key uyarısı bastırılır.
🔴 2️⃣ Hata:
mysqli_real_connect(): (HY000/1203): User u2273390_ybdr1 already has more than 'max_user_connections' active connections
💡 Anlamı:
Sitenin kullandığı MySQL kullanıcı hesabı,
Natronun koyduğu 25 eşzamanlı bağlantı sınırını aşıyor.
Bu, her sayfa yüklendiğinde
çok fazla ayrı veritabanı bağlantısı açılması anlamına geliyor.
✅ Çözüm 4 seviyeli stratejiyle:
A. Eklentileri optimize et
- Sorgu yükü en fazla olan eklentileri bul:
- Query Monitor eklentisini kur → Queries by Component sekmesinde hangi eklentilerin en çok sorgu çalıştırdığını gör.
- Gereksiz sorgu yapan eklentileri kapat veya değiştir (örneğin stats, chat, security gibi eklentiler çok sorgu yapar).
- Elementor + WooCommerce kullanıyorsan:
- Heartbeat Control eklentisiyle admin-ajax çağrılarını azalt.
- WP Optimize veya LiteSpeed Cache ile sorgu önbelleği etkinleştir.
B. Veritabanı bağlantılarını kapat (PHP tarafı)
Bazı tema veya özel PHP kodları, her işlemde new mysqli() ya da wpdb üzerinden ayrı bağlantı açıyor olabilir.
Açılan bağlantı kapanmadan yenisi açıldığında bu limit dolar.
Yapılması gereken:- Eğer kendi kodun varsa:
$conn = new mysqli(...);
// işlemler
$conn->close();
şeklinde mutlaka bağlantıyı kapat. - Eğer kodu sen yazmadıysan, wp-config.phpye şu satırı ekle:
define('WP_ALLOW_REPAIR', true);
ardından https://siteadresi.com/wp-admin/maint/repair.php sayfasına girip veritabanını onar.
C. Ön belleği kullanarak sorgu yükünü azalt
- LiteSpeed Cache, W3 Total Cache veya WP Super Cache kur.
- Database Cache ve Object Cache (memcached varsa) aktif et.
Bu, sürekli tekrarlanan SQL sorgularını hafızada saklar.
D. Alternatif:
Eğer site trafiğin fazla, WooCommerce veya harita (emlak) teması kullanıyorsan:
- Natronun paylaşımlı hostinginde bu limit (25 bağlantı) çok düşük kalır.
- O yüzden VPS / Cloud veya özel MySQL limiti olan üst pakete geçmek, en kalıcı çözümdür.
🔧 Ek olarak:
Natronun cevabındaki mysql_reconnect önerisi genelde hosting tarafında işe
yaramaz çünkü WordPress, zaten kalıcı bağlantı sistemini (persistent connection) desteklemez.
Yani tek çözüm,
bağlantı sayısını azaltmak veya hostingi yükseltmek.