HTTP 500, uygulama veya web sunucusu isteği işlerken beklenmeyen bir hata oluştuğunu bildirir. Plesk üzerinde aynı 500 ekranı; hatalı .htaccess, PHP fatal error, bellek sınırı, FastCGI timeout, dosya izni veya web yapılandırması nedeniyle oluşabilir.
500 Internal Server Error
Allowed memory size of 134217728 bytes exhausted
mod_fcgid: read data timeout in 45 seconds
Premature end of script headers: index.php
Request exceeded the limit of 10 internal redirects
500 kodu tek bir arızayı tanımlamaz. Sunucu isteği almış fakat işlemi tamamlayamamıştır. Bu nedenle sayfanın hata ekranını değiştirmek yerine Plesk domain logundaki tam mesaj ve zaman damgası bulunmalıdır.
.htaccess içine kullanılan PHP handler tarafından desteklenmeyen php_value veya php_flag satırları eklenmesi, yapılandırma ayrıştırmasını durdurabilir.
Allowed memory size exhausted mesajı uygulamanın domain için tanımlanan memory_limit değerini tükettiğini gösterir. Limiti artırmadan önce hangi eklenti veya işlem tarafından tüketildiği araştırılmalıdır.
mod_fcgid read data timeout ve Premature end of script headers mesajları, FastCGI işleminin yanıt vermeden sonlandığını veya zaman sınırını aştığını gösterir.
Too many internal redirects, yanlış HTTP→HTTPS, www yönlendirmesi veya WordPress rewrite kurallarının döngü oluşturmasıyla ortaya çıkabilir.
display_errors değerini üretimde açmak ziyaretçilere dosya yolu ve hassas bilgi gösterebilir. Hata ayrıntısı domain loglarından veya yalnız yönetici IP’sine açık geçici test ortamından alınmalıdır.
E-postada, tarayıcıda veya SSH günlüğünde gördüğünüz ifadeyi aratın. Her kartta anlam, muhtemel neden ve güvenli ilk işlem bulunur.
Anlamı: Sunucu isteği işlerken beklenmeyen hata oluşmuştur.
Muhtemel neden: PHP fatal error, web yapılandırması, izin veya handler sorunu.
Anlamı: PHP süreci tanımlı memory_limit değerini tüketmiştir.
Muhtemel neden: Ağır eklenti, büyük veri işlemi, sonsuz döngü veya düşük limit.
Anlamı: FastCGI işleminden zamanında veri alınamamıştır.
Muhtemel neden: Uzun PHP işlemi, SQL gecikmesi veya düşük FcgidIOTimeout.
Anlamı: CGI/FastCGI işlemi geçerli HTTP başlığı üretmeden kapanmıştır.
Muhtemel neden: Fatal error, segfault, izin veya wrapper sorunu.
Anlamı: Kullanılan handler .htaccess içindeki php_value direktifini desteklememektedir.
Muhtemel neden: PHP-FPM/FastCGI ile Apache mod_php kuralı karıştırılmıştır.
Anlamı: İstek sunucu içinde yönlendirme döngüsüne girmiştir.
Muhtemel neden: Çakışan HTTPS, www, dil veya CMS rewrite kuralları.
Anlamı: Web sunucusu dosyayı okuyamıyor veya çalıştıramıyordur.
Muhtemel neden: Yanlış sahiplik, 000 izin, parent dizin erişimi veya SELinux.
Anlamı: PHP kodu ayrıştırılamamış veya yakalanmamış exception oluşmuştur.
Muhtemel neden: Uyumsuz PHP sürümü, eksik sınıf, bozuk dosya veya güncelleme.
Bu ifadeyle eşleşen kayıt bulunamadı.
Komutlar root erişimi içindir. Önce yalnızca durum ve log toplayın; nedeni görmeden kalıcı ayar değiştirmeyin.
tail -n 200 /var/www/vhosts/system/example.com/logs/error_log
tail -n 100 /var/www/vhosts/system/example.com/logs/proxy_error_log
HTTP 500 anındaki PHP, Apache ve proxy mesajlarını gösterir.
curl -skIL --max-redirs 15 https://example.com/
HTTPS ve www kurallarındaki döngüyü Location başlıklarıyla gösterir.
cp -a /var/www/vhosts/example.com/httpdocs/.htaccess /root/htaccess-example.com.bak
grep -nE 'php_value|php_flag|RewriteRule|Redirect' /var/www/vhosts/example.com/httpdocs/.htaccess
Dosyayı silmeden riskli direktifleri ve yönlendirmeleri listeler.
plesk bin domain --info example.com | grep -Ei "PHP|Hosting"
grep -R "memory_limit" /var/www/vhosts/system/example.com/conf/ 2>/dev/null | tail
Domain yapılandırmasındaki PHP ilişkili bilgileri incelemeye yardımcı olur.
namei -l /var/www/vhosts/example.com/httpdocs/index.php
stat /var/www/vhosts/example.com/httpdocs/index.php
Dosyaya giden tüm dizinlerin erişim izinlerini gösterir.
plesk repair web example.com
plesk repair fs example.com
Domain web yapılandırması ve Plesk beklenen dosya sistemi yapısını kontrol eder.
php -l /var/www/vhosts/example.com/httpdocs/index.php
Belirli bir PHP dosyasındaki parse error sorununu uygulamayı çalıştırmadan kontrol eder.
Önce hata mesajını bulun; ardından .htaccess, PHP, izin ve web yapılandırması katmanlarını sırayla izole edin.
500 veren tam URL, saat ve işlemi not edin. Log aramasında doğru isteği bulmak için bu bilgi gereklidir.
Logun son satırı yerine zincirdeki ilk anlamlı fatal, invalid command veya permission mesajına odaklanın.
tail -n 200 /var/www/vhosts/system/example.com/logs/error_logDosyayı yedekleyin. Yeni eklenen PHP veya rewrite satırlarını tek tek izole edin; dosyayı doğrudan silmeyin.
Fatal error veya bellek hatası varsa eklenti, tema ve uygulamanın seçili PHP sürümüyle uyumunu kontrol edin.
Plesk repair komutunu önce etkileşimli kontrol için kullanın; sonuçları görmeden geniş kapsamlı otomatik onarım çalıştırmayın.
plesk repair web example.comSayfa açıldıktan sonra yeni fatal satır oluşmadığını, cron ve form gibi dinamik işlemlerin de çalıştığını kontrol edin.
curl -skI https://example.com/wp-content içindeki error log, eklenti ve tema uyumluluğu incelenir. Eklentiler veritabanından veya dosya adından kontrollü devre dışı bırakılabilir.
Yeni direktifler handler ile uyumsuz olabilir. Yedekten karşılaştırıp php_value ve rewrite kurallarını ayırın.
memory_limit, max_execution_time, upload limitleri ve uygulamanın parça parça işleme desteği değerlendirilir.
Plesk yönlendirmesi, Cloudflare Flexible SSL ve CMS site URL ayarları birlikte kontrol edilir.
curl -skIL https://example.com/Domain hatasından farklıdır; sw-cp-server, sw-engine ve /var/log/plesk/panel.log incelenir.
Tek bir neden yoktur. .htaccess uyumsuzluğu, PHP fatal error, bellek sınırı, FastCGI timeout ve izin sorunları en sık gruplardır.
Hayır. Güvenlik riskidir ve gerçek sahiplik sorununu gizler. Plesk’in beklenen sahiplik ve izin yapısı korunmalıdır.
Hangi URL ve kodun belleği tükettiğini bulup optimize edin. İş yükü gerçekten yüksekse sunucu kapasitesine uygun kontrollü limit artışı yapılabilir.
Yedek alarak kısa teşhis için kullanılabilir; ancak güvenlik, permalink ve yönlendirme kuralları devre dışı kalacağı için kalıcı çözüm değildir.
Linux üzerinde genellikle /var/www/vhosts/system/alanadi/logs/error_log ve proxy_error_log dosyaları kullanılır. Panelde Domains > Logs ekranından da görülebilir.
Uyumsuz kod nedeniyle düzeltebilir fakat rastgele sürüm değişimi yeni sorun çıkarabilir. Uygulama ve eklenti gereksinimleri kontrol edilmelidir.
Plesk’in beklediği dosya sistemi bütünlüğünü ve sahiplik yapısını kontrol eder. Üretimde komut çıktısı dikkatle incelenmelidir.
cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim ve güvenlik katmanlarını birlikte analiz ederek yalnızca servisi kaldırmak yerine arızanın temel nedenini gideriyoruz.