500 Internal Server Error, sunucunun gelen isteği işlerken beklenmeyen bir hatayla karşılaştığını ancak ziyaretçiye hatanın ayrıntılı nedenini gösteremediğini ifade eder. PHP fatal error, hatalı .htaccess kuralı, uyumsuz PHP sürümü, eklenti veya tema hatası, dosya izinleri ve hosting kaynak limitleri 500 hatasının yaygın nedenleri arasındadır.
Bu rehberde 500 Internal Server Error gördüğünüzde rastgele dosya silmek veya bütün ayarları değiştirmek yerine cPanel ve PHP tarafında hangi kontrolleri hangi sırayla yapmanız gerektiğini adım adım inceleyeceğiz.
Önce hatanın kapsamını belirleyin
İlk olarak 500 hatasının bütün sitede mi yoksa yalnızca belirli bir URL'de mi oluştuğunu kontrol edin.
Örneğin:
ise problem tüm sunucudan çok ilgili uygulama veya klasörle bağlantılı olabilir.
Ancak:
gibi bir tablo PHP veya uygulama tarafını daha güçlü aday haline getirir.
1. Hatanın oluştuğu zamanı not edin
500 hatasını gördüğünüz saati mümkün olduğunca net belirleyin.
Örneğin:
Bu bilgi hata kayıtlarında ilgili satırı bulmanızı kolaylaştırır.
Log dosyasında binlerce satır varsa hatanın oluştuğu dakikaya yakın kayıtları incelemek çok daha verimlidir.
2. cPanel hata kayıtlarını kontrol edin
cPanel hesabınıza giriş yapın.
Kullandığınız arayüze göre:
Metrics → Errors
veya benzeri hata kayıtları bölümünü açın.
Ayrıca Dosya Yöneticisi üzerinden şu dosyaları kontrol edin:
veya:
Son kayıtları inceleyin.
Örneğin:
görüyorsanız PHP bellek limitiyle ilgili bir sorun olabilir.
Şöyle bir hata:
ise kod veya eklenti tarafında bir problem olduğunu gösterir.
3. Tarayıcıdaki 500 ekranından çok log kaydına güvenin
Tarayıcı çoğu zaman yalnızca:
gösterir.
Bu mesaj gerçek nedeni söylemez.
Asıl teşhis için:
kullanılmalıdır.
4. .htaccess dosyasını kontrol edin
cPanel'de:
File Manager → public_html
bölümüne girin.
Gizli dosyaların gösterildiğinden emin olun.
Şu dosyayı bulun:
Dosyayı doğrudan silmeyin.
Önce yedek alın veya geçici olarak adını değiştirin:
Ardından siteyi tekrar açın.
500 hatası ortadan kalktıysa problem büyük ihtimalle .htaccess içerisindeki bir kuraldır.
5. .htaccess içerisinde hangi sorunlar olabilir?
Örneğin:
500 hatası oluşturabilir.
Özellikle site başka bir hosting şirketinden taşındıysa eski sunucuya ait .htaccess kuralları yeni sunucuyla uyumsuz olabilir.
6. Son yaptığınız değişikliği kontrol edin
500 hatası belirli bir işlemden hemen sonra başladıysa önce o işlemi inceleyin.
Örneğin:
Hata başlangıcı ile yapılan değişiklik aynı zamana denk geliyorsa önemli bir ipucu elde etmiş olursunuz.
7. PHP sürümünü kontrol edin
cPanel'de PHP sürümünü yönettiğiniz bölümü açın.
Bu alan hosting sağlayıcısına göre:
gibi isimlerle bulunabilir.
Aktif PHP sürümünü kontrol edin.
Eski bir yazılım yeni PHP sürümünde çalışmayabilir.
Yeni bir yazılım da çok eski PHP sürümünü desteklemeyebilir.
8. PHP sürümünü rastgele değiştirmeyin
Şu şekilde sürekli sürüm değiştirmek doğru teşhis yöntemi değildir:
Önce error log'u inceleyin.
Log PHP uyumsuzluğunu gösteriyorsa kontrollü şekilde uygun sürümü test edin.
9. PHP memory_limit değerini kontrol edin
Log içerisinde:
hatası varsa PHP'ye ayrılan bellek tükenmiş olabilir.
PHP ayarlarında:
değerini kontrol edin.
Ancak limiti sürekli yükseltmek kök nedeni çözmeyebilir.
Örneğin hatalı bir eklenti sürekli bellek tüketiyorsa:
yapmak yalnızca problemi geciktirebilir.
10. max_execution_time değerini kontrol edin
Uzun süren PHP işlemlerinde:
değeri etkili olabilir.
Özellikle:
uzun çalışıyorsa zaman aşımı oluşabilir.
Ancak yine önce log kaydını kontrol edin.
11. WordPress kullanıyorsanız eklentileri test edin
WordPress yönetim paneli açılmıyorsa cPanel üzerinden:
klasörünün adını geçici olarak:
şeklinde değiştirebilirsiniz.
Site açılırsa eklentilerden biri probleme neden oluyor olabilir.
Klasörü tekrar eski adına getirin ve eklentileri tek tek test ederek sorunlu olanı belirleyin.
12. Tema kaynaklı PHP hatasını kontrol edin
Hata tema güncellemesi veya functions.php düzenlemesinden sonra başladıysa tema dosyalarını inceleyin.
Özellikle:
içerisindeki:
fatal error oluşturabilir.
Error log içerisinde dosya ve satır numarası bulunuyorsa doğrudan o bölüme gidin.
13. Dosya ve klasör izinlerini kontrol edin
Yaygın paylaşımlı hosting yapılarında genellikle:
kullanılır.
Ancak hosting sağlayıcınız farklı izinler öneriyorsa kendi sunucu yapısını esas alın.
Bütün dosyaları:
yapmayın.
Bu güvenlik riski oluşturabilir.
14. Dosya sahipliği problemi olabilir
Site başka bir sunucudan taşındıysa dosyaların sahibi yanlış kullanıcı olabilir.
Permission doğru görünmesine rağmen PHP dosyaları çalışmayabilir.
Paylaşımlı hosting kullanıyorsanız ownership değerini çoğu zaman hosting desteğinin kontrol etmesi gerekir.
15. Hosting kaynak limitlerini kontrol edin
500 hatası her zaman PHP kodundan kaynaklanmaz.
cPanel'de varsa:
Resource Usage
veya:
Kaynak Kullanımı
alanını açın.
Şunları kontrol edin:
Hata oluştuğu dakikada limit aşımı varsa sunucu kaynağı güçlü bir adaydır.
Bu değerlerin ne anlama geldiğini Hosting Kaynak Limiti Aşıldı: CPU, RAM, I/O ve Entry Processes Ne Anlama Gelir? rehberinde ayrıntılı inceleyebilirsiniz.
16. Hata yalnız cron çalışırken oluşuyorsa
Site normal çalışıyor ancak cron çalıştırıldığında 500 oluşuyorsa:
kontrol edilmelidir.
Bu durumda Cron Job Çalışmıyor: Önce Neyi Kontrol Etmek Gerekir? konusundaki kontrolleri de uygulayın.
17. 500 ile 403 hatasını karıştırmayın
500 hatası:
sunucunun isteği işlerken dahili hata oluşturduğunu
gösterir.
403 hatası ise genellikle:
isteğe erişim izni verilmediğini
gösterir.
Gerçek HTTP kodu 403 ise 403 Forbidden Hatası Nedir? cPanel'de Nasıl Çözülür? rehberine geçin.
18. Ayrıntılı hata mesajlarını canlı sitede göstermeyin
Geliştirici olarak geçici debug kullanabilirsiniz.
Ancak ziyaretçilere:
gösterecek hata ekranlarını canlı sitede açık bırakmayın.
Mümkünse hata ayrıntılarını yalnız log dosyasına kaydedin.
500 hatası için hızlı kontrol sırası
Sonuç
500 Internal Server Error çözümünde doğru sıra:
Log → .htaccess → PHP → uygulama → izinler → sunucu kaynakları
şeklindedir.
Rastgele dosya silmek, bütün izinleri 777 yapmak veya sürekli PHP sürümü değiştirmek yerine önce gerçek hata kaydını bulun.
500 hatasının nedeni tespit edildiğinde yalnızca ilgili noktaya müdahale etmek hem daha güvenli hem de daha hızlı sonuç verir.
Bu rehberde 500 Internal Server Error gördüğünüzde rastgele dosya silmek veya bütün ayarları değiştirmek yerine cPanel ve PHP tarafında hangi kontrolleri hangi sırayla yapmanız gerektiğini adım adım inceleyeceğiz.
Önce hatanın kapsamını belirleyin
İlk olarak 500 hatasının bütün sitede mi yoksa yalnızca belirli bir URL'de mi oluştuğunu kontrol edin.
Örneğin:
Kod:
https://site.com/ → Çalışıyor
https://site.com/admin/ → 500ise problem tüm sunucudan çok ilgili uygulama veya klasörle bağlantılı olabilir.
Ancak:
Kod:
Ana sayfa → 500
Yönetim paneli → 500
Statik HTML dosyası → Çalışıyorgibi bir tablo PHP veya uygulama tarafını daha güçlü aday haline getirir.
1. Hatanın oluştuğu zamanı not edin
500 hatasını gördüğünüz saati mümkün olduğunca net belirleyin.
Örneğin:
Kod:
09 Eylül 2026
14:32Bu bilgi hata kayıtlarında ilgili satırı bulmanızı kolaylaştırır.
Log dosyasında binlerce satır varsa hatanın oluştuğu dakikaya yakın kayıtları incelemek çok daha verimlidir.
2. cPanel hata kayıtlarını kontrol edin
cPanel hesabınıza giriş yapın.
Kullandığınız arayüze göre:
Metrics → Errors
veya benzeri hata kayıtları bölümünü açın.
Ayrıca Dosya Yöneticisi üzerinden şu dosyaları kontrol edin:
Kod:
public_html/error_logveya:
Kod:
public_html/uygulama-klasoru/error_logSon kayıtları inceleyin.
Örneğin:
Kod:
PHP Fatal error: Allowed memory size exhaustedgörüyorsanız PHP bellek limitiyle ilgili bir sorun olabilir.
Şöyle bir hata:
Kod:
PHP Fatal error: Uncaught Error: Call to undefined functionise kod veya eklenti tarafında bir problem olduğunu gösterir.
3. Tarayıcıdaki 500 ekranından çok log kaydına güvenin
Tarayıcı çoğu zaman yalnızca:
Kod:
500 Internal Server Errorgösterir.
Bu mesaj gerçek nedeni söylemez.
Asıl teşhis için:
- PHP error log
- Apache veya LiteSpeed hata kaydı
- Uygulamanın kendi log dosyası
kullanılmalıdır.
4. .htaccess dosyasını kontrol edin
cPanel'de:
File Manager → public_html
bölümüne girin.
Gizli dosyaların gösterildiğinden emin olun.
Şu dosyayı bulun:
Kod:
.htaccessDosyayı doğrudan silmeyin.
Önce yedek alın veya geçici olarak adını değiştirin:
Kod:
.htaccess
→
.htaccess-testArdından siteyi tekrar açın.
500 hatası ortadan kalktıysa problem büyük ihtimalle .htaccess içerisindeki bir kuraldır.
5. .htaccess içerisinde hangi sorunlar olabilir?
Örneğin:
- Hatalı RewriteRule
- Desteklenmeyen Apache direktifi
- Eski PHP handler satırı
- Sunucuda bulunmayan modüle ait kural
- Yanlış erişim kısıtlaması
- Eksik veya bozuk sözdizimi
500 hatası oluşturabilir.
Özellikle site başka bir hosting şirketinden taşındıysa eski sunucuya ait .htaccess kuralları yeni sunucuyla uyumsuz olabilir.
6. Son yaptığınız değişikliği kontrol edin
500 hatası belirli bir işlemden hemen sonra başladıysa önce o işlemi inceleyin.
Örneğin:
- PHP sürümü değiştirildi
- Yeni eklenti kuruldu
- Tema güncellendi
- functions.php düzenlendi
- .htaccess değiştirildi
- Cron eklendi
- Site başka sunucuya taşındı
Hata başlangıcı ile yapılan değişiklik aynı zamana denk geliyorsa önemli bir ipucu elde etmiş olursunuz.
7. PHP sürümünü kontrol edin
cPanel'de PHP sürümünü yönettiğiniz bölümü açın.
Bu alan hosting sağlayıcısına göre:
- MultiPHP Manager
- Select PHP Version
- PHP Manager
gibi isimlerle bulunabilir.
Aktif PHP sürümünü kontrol edin.
Eski bir yazılım yeni PHP sürümünde çalışmayabilir.
Yeni bir yazılım da çok eski PHP sürümünü desteklemeyebilir.
8. PHP sürümünü rastgele değiştirmeyin
Şu şekilde sürekli sürüm değiştirmek doğru teşhis yöntemi değildir:
Kod:
PHP 8.3
→
PHP 8.2
→
PHP 8.1
→
PHP 7.xÖnce error log'u inceleyin.
Log PHP uyumsuzluğunu gösteriyorsa kontrollü şekilde uygun sürümü test edin.
9. PHP memory_limit değerini kontrol edin
Log içerisinde:
Kod:
Allowed memory size exhaustedhatası varsa PHP'ye ayrılan bellek tükenmiş olabilir.
PHP ayarlarında:
Kod:
memory_limitdeğerini kontrol edin.
Ancak limiti sürekli yükseltmek kök nedeni çözmeyebilir.
Örneğin hatalı bir eklenti sürekli bellek tüketiyorsa:
Kod:
256M
→
512Myapmak yalnızca problemi geciktirebilir.
10. max_execution_time değerini kontrol edin
Uzun süren PHP işlemlerinde:
Kod:
max_execution_timedeğeri etkili olabilir.
Özellikle:
- İçe aktarma işlemleri
- Yedekleme
- Büyük veri işleme
- API senkronizasyonu
- Cron görevleri
uzun çalışıyorsa zaman aşımı oluşabilir.
Ancak yine önce log kaydını kontrol edin.
11. WordPress kullanıyorsanız eklentileri test edin
WordPress yönetim paneli açılmıyorsa cPanel üzerinden:
Kod:
wp-content/pluginsklasörünün adını geçici olarak:
Kod:
plugins-testşeklinde değiştirebilirsiniz.
Site açılırsa eklentilerden biri probleme neden oluyor olabilir.
Klasörü tekrar eski adına getirin ve eklentileri tek tek test ederek sorunlu olanı belirleyin.
12. Tema kaynaklı PHP hatasını kontrol edin
Hata tema güncellemesi veya functions.php düzenlemesinden sonra başladıysa tema dosyalarını inceleyin.
Özellikle:
Kod:
functions.phpiçerisindeki:
- Eksik parantez
- Eksik noktalı virgül
- Tanımsız fonksiyon
- PHP sürümüyle uyumsuz kod
fatal error oluşturabilir.
Error log içerisinde dosya ve satır numarası bulunuyorsa doğrudan o bölüme gidin.
13. Dosya ve klasör izinlerini kontrol edin
Yaygın paylaşımlı hosting yapılarında genellikle:
Kod:
Klasörler: 755
Dosyalar: 644kullanılır.
Ancak hosting sağlayıcınız farklı izinler öneriyorsa kendi sunucu yapısını esas alın.
Bütün dosyaları:
Kod:
777yapmayın.
Bu güvenlik riski oluşturabilir.
14. Dosya sahipliği problemi olabilir
Site başka bir sunucudan taşındıysa dosyaların sahibi yanlış kullanıcı olabilir.
Permission doğru görünmesine rağmen PHP dosyaları çalışmayabilir.
Paylaşımlı hosting kullanıyorsanız ownership değerini çoğu zaman hosting desteğinin kontrol etmesi gerekir.
15. Hosting kaynak limitlerini kontrol edin
500 hatası her zaman PHP kodundan kaynaklanmaz.
cPanel'de varsa:
Resource Usage
veya:
Kaynak Kullanımı
alanını açın.
Şunları kontrol edin:
- CPU
- RAM
- I/O
- Entry Processes
Hata oluştuğu dakikada limit aşımı varsa sunucu kaynağı güçlü bir adaydır.
Bu değerlerin ne anlama geldiğini Hosting Kaynak Limiti Aşıldı: CPU, RAM, I/O ve Entry Processes Ne Anlama Gelir? rehberinde ayrıntılı inceleyebilirsiniz.
16. Hata yalnız cron çalışırken oluşuyorsa
Site normal çalışıyor ancak cron çalıştırıldığında 500 oluşuyorsa:
- PHP CLI sürümü
- PHP binary yolu
- Dosya yolu
- Dosya izinleri
- Çalışma süresi
- Bellek kullanımı
kontrol edilmelidir.
Bu durumda Cron Job Çalışmıyor: Önce Neyi Kontrol Etmek Gerekir? konusundaki kontrolleri de uygulayın.
17. 500 ile 403 hatasını karıştırmayın
500 hatası:
sunucunun isteği işlerken dahili hata oluşturduğunu
gösterir.
403 hatası ise genellikle:
isteğe erişim izni verilmediğini
gösterir.
Gerçek HTTP kodu 403 ise 403 Forbidden Hatası Nedir? cPanel'de Nasıl Çözülür? rehberine geçin.
18. Ayrıntılı hata mesajlarını canlı sitede göstermeyin
Geliştirici olarak geçici debug kullanabilirsiniz.
Ancak ziyaretçilere:
- Sunucu dosya yolları
- Kod ayrıntıları
- Veritabanı hataları
- Uygulama yapısı
gösterecek hata ekranlarını canlı sitede açık bırakmayın.
Mümkünse hata ayrıntılarını yalnız log dosyasına kaydedin.
500 hatası için hızlı kontrol sırası
- Hata bütün sitede mi?
- Hata hangi saatte başladı?
- Error log ne gösteriyor?
- .htaccess test edildi mi?
- Son yapılan değişiklik neydi?
- PHP sürümü uyumlu mu?
- PHP memory_limit yeterli mi?
- Eklenti veya tema hatası var mı?
- Dosya izinleri doğru mu?
- Hosting kaynak limiti aşılıyor mu?
- Sorun yalnız cron veya belirli bir URL'de mi?
Sonuç
500 Internal Server Error çözümünde doğru sıra:
Log → .htaccess → PHP → uygulama → izinler → sunucu kaynakları
şeklindedir.
Rastgele dosya silmek, bütün izinleri 777 yapmak veya sürekli PHP sürümü değiştirmek yerine önce gerçek hata kaydını bulun.
500 hatasının nedeni tespit edildiğinde yalnızca ilgili noktaya müdahale etmek hem daha güvenli hem de daha hızlı sonuç verir.
