Max execution time hatasının nedenlerini, WordPress’te güvenli artırma yöntemlerini ve sunucu kaynaklarıyla ilgili dikkat edilmesi gereken noktaları öğrenin.
WordPress’te tema yüklerken, eklenti güncellerken, içe aktarma yaparken veya büyük bir işlem çalıştırırken “Maximum execution time exceeded” benzeri bir hata görmek çoğu zaman sunucunun işlemi belirlenen sürede tamamlayamadığını gösterir. Bu hata tek başına sitenin bozuk olduğu anlamına gelmez; ancak işlem süresi, PHP ayarları, eklenti kalitesi ve hosting kaynakları birlikte değerlendirilmelidir.
Max execution time, bir PHP betiğinin en fazla kaç saniye çalışabileceğini belirleyen sınırdır. Örneğin değer 30 saniye ise, PHP bu süreyi aşan işlemi durdurur. Amaç, hatalı veya sonsuz döngüye giren işlemlerin sunucu kaynaklarını tüketmesini önlemektir.
WordPress tarafında bu hata genellikle şu işlemler sırasında ortaya çıkar:
Paylaşımlı sunucularda CPU, RAM ve işlem süresi limitleri diğer hesaplarla birlikte yönetilir. Bu nedenle büyük işlemler sırasında PHP süresi dolabilir. Özellikle yoğun e-ticaret sitelerinde yalnızca süreyi artırmak kalıcı çözüm sağlamayabilir; sunucu paketinin işlem hacmine uygun olup olmadığı da kontrol edilmelidir.
Bazı eklentiler gereğinden fazla sorgu çalıştırabilir, dış servislerden geç yanıt alabilir veya güncel PHP sürümleriyle uyumsuz davranabilir. Hata belirli bir eklenti aktivasyonu, güncellemesi ya da işleminden sonra başladıysa önce o eklentiyi devre dışı bırakıp test etmek daha güvenlidir.
XML içe aktarma, ürün aktarımı veya tam site yedeği gibi işlemler tek seferde fazla veri işlediğinde zaman aşımına takılabilir. Bu durumda süreyi artırmanın yanında işlemi parçalara bölmek, daha küçük dosyalarla ilerlemek veya işlemi düşük trafik saatlerinde yapmak daha sağlıklı sonuç verir.
Max execution time değerini yükseltmeden önce mevcut değeri öğrenmek ve ihtiyacı doğru belirlemek önemlidir. Gereğinden yüksek değerler, hatalı bir işlemin sunucuda uzun süre çalışmasına neden olabilir. Çoğu WordPress sitesi için 60-120 saniye aralığı makul bir başlangıçtır; büyük içe aktarma ve taşıma işlemlerinde geçici olarak daha yüksek değer gerekebilir.
WordPress kök dizinindeki wp-config.php dosyasına, “/* That’s all, stop editing! */” satırından önce aşağıdaki satır eklenebilir:
set_time_limit(120);
Bu yöntem her sunucuda çalışmayabilir. Bazı sağlayıcılar güvenlik ve kaynak yönetimi nedeniyle bu fonksiyonu kısıtlar.
Apache tabanlı yapılarda, WordPress kök dizinindeki .htaccess dosyasına şu satır eklenebilir:
php_value max_execution_time 120
Bu satır eklendikten sonra site 500 hatası verirse, sunucu bu yöntemi desteklemiyor olabilir. Böyle bir durumda satırı kaldırıp alternatif yöntem denenmelidir.
Bazı kontrol panellerinde PHP ayarları bölümünden max_execution_time değeri doğrudan düzenlenebilir. Bu yöntem daha kontrollüdür çünkü aynı ekranda bellek limiti, yükleme boyutu ve PHP sürümü gibi ilişkili değerler de görülebilir. Kurumsal projelerde değişiklik öncesi mevcut ayarların not alınması önerilir.
Max execution time değerini yükseltmek pratik bir çözümdür; fakat her zaman kök nedeni ortadan kaldırmaz. Eğer hata sürekli tekrarlıyorsa şu kontroller yapılmalıdır:
Özellikle yüksek trafikli sitelerde yalnızca süre limitini artırmak yerine performans izleme, önbellekleme, veritabanı optimizasyonu ve daha uygun sunucu mimarisi birlikte ele alınmalıdır.
Dosya düzenleme konusunda emin değilseniz, değişiklik öncesi mutlaka yedek alın. Yanlış konuma eklenen bir satır, sitenin geçici olarak erişilemez hale gelmesine neden olabilir. Yönetim paneline erişilemiyorsa FTP veya dosya yöneticisi üzerinden son yapılan değişiklik geri alınmalıdır.
Değer artırıldığı halde hata devam ediyorsa, sunucu günlüklerinde hangi PHP dosyasının süreyi aştığı incelenmelidir. Bu bilgi, sorunun gerçekten zaman limiti mi, bellek yetersizliği mi, dış API gecikmesi mi yoksa veritabanı sorgusu mu olduğunu ayırmaya yardımcı olur. Böylece gereksiz ayar denemeleri yerine doğrudan problemli işlem iyileştirilebilir.