CWP panelde karşılaştığın 500 Internal Server Error hatası oldukça yaygın bir sorun ve genellikle birkaç temel noktadan kaynaklanır. Adım adım inceleyerek bu sorunu çözeceğiz.
Yaygın 500 Internal Server Error Nedenleri ve Çözümleri
Bu hata sunucunun web isteğini işleyemediğini gösterir. Sorunun kaynağını bulmak için aşağıdaki adımları takip et.
1. .htaccess Dosyasını Kontrol Et
En sık rastlanan nedenlerden biri, .htaccess dosyasındaki hatalı bir kuraldır. Bu dosya, sunucunun web sitenin davranışını nasıl yöneteceğini belirler.
Adım 1: .htaccess Dosyasını Bul
Sunucuna SSH ile bağlan ve web sitenin ana dizinine git. Genellikle bu dizin /home/kullaniciadi/public_html gibi bir yoldur.
cd /home/kullaniciadi/public_html
Adım 2: .htaccess Dosyasını Yeniden Adlandır veya Sil
Önce mevcut dosyanı yedekle veya geçici olarak farklı bir isimle yeniden adlandır. Bu, hatanın kaynağının .htaccess olup olmadığını anlamana yardımcı olur.
mv .htaccess .htaccess_old
Bu işlemi yaptıktan sonra siteni kontrol et. Eğer site açılırsa, sorun .htaccess dosyasındaydı demektir.
Adım 3: Hatalı Kuralı Bul
Eğer site açılırsa, .htaccess_old dosyasını tekrar .htaccess olarak adlandırıp içeriğini satır satır inceleyebilirsin.
mv .htaccess_old .htaccess
Dosyanın içeriğini kontrol etmek için nano veya vim gibi bir editör kullanabilirsin.
nano .htaccess
Herhangi bir izin (permission) ile ilgili veya php sürümünü zorlayan bir kural olup olmadığını kontrol et. Özellikle php_value veya php_flag gibi direktifleri dikkatlice incele.
Hatalı satırı bulduğunda, onu yorum satırı haline getirerek (`#` karakteri ile başlayarak) test edebilirsin.
2. PHP Sürüm Uyumluluğu
Web sitenin kullandığı kodların veya eklentilerin sunucudaki PHP sürümüyle uyumlu olmaması da 500 hatasına yol açabilir. CWP paneli üzerinden PHP sürümünü değiştirmeyi deneyebilirsin.
Adım 1: CWP Panelinden PHP Sürümünü Ayarla
CWP kontrol paneline giriş yap.
Sol menüde User Accounts altında PHP Settings'e tıkla.
Karşına çıkan listeden siten için doğru PHP sürümünü seç ve kaydet.
Farklı PHP sürümlerini (örneğin 7.4, 8.0, 8.1 gibi) deneyerek sitenin tekrar açılıp açılmadığını kontrol et.
3. Dosya ve Klasör İzinleri (Permissions)
Sunucudaki dosya ve klasörlerin yanlış izinlere sahip olması da erişim sorunlarına ve 500 hatalarına neden olabilir. Genellikle web dosyaları için 644, klasörler için ise 755 izinleri kullanılır.
Adım 1: SSH ile Bağlan ve Dizinine Git
/home/kullaniciadi/public_html dizinine git.
Adım 2: İzinleri Kontrol Et ve Ayarla
Aşağıdaki komutlarla izinleri düzeltebilirsin:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Bu komutlar, mevcut dizindeki tüm alt dizinlere 755, tüm dosyalara ise 644 izni verecektir.
4. Hatalı PHP Scriptleri veya Eklentiler
Eğer hata belirli bir sayfayı açmaya çalıştığında ortaya çıkıyorsa, o sayfayı oluşturan PHP scriptinde veya kullanılan bir eklentide sorun olabilir.
Adım 1: Hata Loglarını Detaylı İncele
CWP panelde Logs bölümüne git. Özellikle Apache Logs ve PHP Error Logs'u dikkatlice incele.
Eğer loglarda spesifik bir dosya adı veya hata mesajı (örn: `Fatal error: Call to undefined function...` gibi) görüyorsan, sorunun kaynağı o fonksiyonu veya kodu içeren dosyadır.
CWP genellikle /home/kullaniciadi/logs/ dizini altında log dosyalarını tutar. SSH ile bu dosyalara bakabilirsin.
tail -f /home/kullaniciadi/logs/error_log
Bu komut, PHP hata logunu canlı olarak gösterecektir. Hata alırken bu komutu çalıştırırsan, hata anında ekranda belirecektir.
Adım 2: Eklentileri Devre Dışı Bırak (wordpress vb. sistemler için)
Eğer bir CMS (WordPress, Joomla vb.) kullanıyorsan, son yüklediğin veya güncellediğin eklentileri tek tek devre dışı bırakarak hatanın hangi eklentiden kaynaklandığını bulabilirsin.
Bunu FTP veya dosya yöneticisi aracılığıyla eklenti klasörlerinin adını değiştirerek yapabilirsin. Örneğin, wp-content/plugins/yeniekenti/ klasörünü wp-content/plugins/yeniekenti_disabled/ olarak yeniden adlandırırsan, o eklenti devre dışı kalır.
5. Bellek Sınırı (Memory Limit)
PHP scriptlerinin kullanabileceği bellek miktarının yetersiz olması da 500 hatasına neden olabilir. Bu genellikle daha karmaşık scriptler veya eklentilerde görülür.
Adım 1: PHP Bellek Limitini Artır
Bunu birkaç farklı yolla yapabilirsin:
Sunucunda bulunan php.ini dosyasını düzenlemen gerekebilir. Bu dosyanın yeri sunucu yapılandırmasına göre değişir.
Genellikle /etc/php.ini veya /usr/local/etc/php/php.ini gibi yollarda bulunur. CWP'nin kullandığı PHP sürümüne göre ilgili php.ini dosyasını bulmalısın.
Dosya içinde memory_limit satırını bulup değerini artır.
Bu değeri 512M veya daha yukarısına çıkarabilirsin.
Yukarıda bahsettiğimiz .htaccess dosyasına aşağıdaki satırı ekleyerek de bellek limitini artırabilirsin.
CWP panelde User Accounts -> PHP Settings bölümünde bazı PHP ayarlarını doğrudan yapma imkanın olabilir. Buradaki memory_limit seçeneğini kontrol et.
Bu değişiklikleri yaptıktan sonra web sunucusunu (Apache) yeniden başlatman gerekebilir. CWP panelde Services -> Apache Server altından yeniden başlatma seçeneğini bulabilirsin.
Sunucundaki disk alanının tamamen dolmuş olması da çeşitli hatalara yol açabilir.
Adım 1: Disk Alanını Kontrol Et
SSH ile sunucuya bağlanıp aşağıdaki komutu çalıştır.
df -h
Eğer herhangi bir bölümün %100 doluysa, gereksiz dosyaları silerek yer açman gerekir.
Özet ve Son Kontrol
Yukarıdaki adımları uygularken her adımdan sonra siteni kontrol etmeyi unutma. Genellikle sorun bu adımlardan biriyle çözülür. Eğer sorun devam ederse, sunucunun genel sağlık durumunu kontrol etmek için CWP'deki Server Status bölümüne bakabilirsin.
Eğer özel bir konfigürasyonun varsa veya hata loglarında hala anlaşılmayan bir durum varsa, o log çıktılarını paylaşman daha hızlı çözüm bulmamızı sağlar.
php_value memory_limit 256M;
memory_limit = 256M;