500 Hatası Nedir?
500 Dahili Sunucu Hatası, sunucuda bir şeylerin ters gittiği ancak sunucunun ne olduğunu daha ayrıntılı söyleyemediği anlamına gelir. Araştırma gerektiren genel bir "bir şey bozuldu" mesajıdır.
Yaygın Nedenler ve Çözümler
1. PHP Sözdizimi Hataları
Neden
PHP kodunda eksik noktalı virgül, parantez veya yazım hatası.
Çözüm
Dosya ve satır numarası için hata günlüklerine bakın. Yaygın hatalar: eksik ;, kapatılmamış { veya metin içinde $.
2. PHP Sürüm Uyumsuzluğu
Neden
Kod, mevcut PHP sürümünde bulunmayan özellikleri veya kullanımdan kaldırılmış işlevleri kullanıyor.
Çözüm
Gereken PHP sürümünü kontrol edin. EGPNL'de PHP → PHP Sürümü bölümüne gidip uyumlu bir sürüme geçin.
3. Dosya İzni Sorunları
Neden
PHP dosyalarının izinleri yanlış (fazla kısıtlayıcı veya 777).
Çözüm
Klasörleri 755, dosyaları 644 yapın. 777'yi asla kullanmayın.
# Fix permissions via SSH
find /path/to/site -type d -exec chmod 755 {} \;
find /path/to/site -type f -exec chmod 644 {} \;
4. Eksik PHP Eklentileri
Neden
Uygulama, etkin olmayan bir PHP eklentisine ihtiyaç duyuyor.
Çözüm
EGPNL → PHP → PHP Eklentileri bölümüne gidip gereken eklentiyi etkinleştirin (örneğin mysqli, gd, curl).
5. Bellek Sınırı Aşıldı
Neden
PHP betiği izin verilenden fazla bellek kullanıyor.
Çözüm
Bellek sınırını EGPNL → PHP → PHP Ayarları bölümünden artırın veya kodunuza ekleyin:
// In PHP file
ini_set('memory_limit', '256M');
// Or in php.ini
memory_limit = 256M
6. Bozuk .htaccess (Nginx)
Neden
Bazı uygulamalar .htaccess dosyaları oluşturur, ancak EGPHP bunları desteklemeyen Nginx kullanır.
Çözüm
.htaccess kurallarının Nginx biçimine dönüştürülmesi gerekir. Yapılandırma seçenekleri için EGPNL → Nginx bölümüne bakın.
7. Veritabanı Bağlantısı Başarısız
Neden
Veritabanı bilgileri yanlış veya veritabanı mevcut değil.
Çözüm
Yapılandırma dosyanızdaki veritabanı bilgilerini doğrulayın (WordPress için wp-config.php). Veritabanının EGPNL'de var olduğundan emin olun.
8. Eklenti/Tema Çakışması (WordPress)
Neden
Bir eklenti veya temada hata var ya da bir diğeriyle çakışıyor.
Çözüm
Dosya Yöneticisi ile plugins klasörünün adını plugins_old olarak değiştirin. Site açılıyorsa adı geri alıp eklentileri tek tek etkinleştirerek sorunluyu bulun.
WordPress'e Özgü Çözümler
WordPress Hata Ayıklama Modunu Açın
wp-config.php dosyasını düzenleyip şunları ekleyin/değiştirin:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Ardından hatalar için wp-content/debug.log dosyasına bakın.
WordPress Belleğini Artırın
// Add to wp-config.php
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
Bozuk Çekirdek Dosyalarını Sıfırlayın
- wordpress.org adresinden temiz bir WordPress indirin
- wp-admin ve wp-includes klasörlerini silin (wp-content DEĞİL)
- Temiz wp-admin ve wp-includes klasörlerini yükleyin
- wp-config.php dosyasını yalnızca bozuksa değiştirin
Hata Günlüklerini İnceleme
500 hatalarını teşhis etmede en iyi yardımcınız hata günlükleridir:
- EGPNL → Günlükler bölümüne gidin
- Hata Günlükleri'ni seçin
- Son kayıtlara bakın (en yenisi en altta)
- Dosya yolunu ve satır numarasını not edin
Yaygın Günlük Mesajları
PHP Parse error- PHP dosyasında sözdizimi hatasıPHP Fatal error- Çalışmayı durduran kritik hataAllowed memory size exhausted- Bellek sınırına ulaşıldıCall to undefined function- Eksik işlev/eklenti
Hâlâ 500 Hatası mı Alıyorsunuz?
- Günlüklerdeki hatayı olduğu gibi kopyalayın
- Hatanın ne zaman başladığını not edin (güncellemeden sonra mı? yeni eklenti mi?)
- Varsa bir yedekten geri yüklemeyi deneyin
- Hata ayrıntılarıyla destekle iletişime geçin
Bu makale yardımcı oldu mu?