500 hatasının neden oluştuğunu öğrenmek için günlükleri kontrol edin. error.log dosyasında sorunun nedenini belirten bir giriş olabilir. En yaygın seçenekleri göz önünde bulundurun.
Kaynak eksikliği
Nedeni buysa, sorun çok basit bir şekilde çözülmüştür - kaynakları artırma isteği ile barındırma sağlayıcıyla iletişime geçin.
Çalışamaz komut dosyalarının varlığı veya bunların yürütülmesi için sınırlı bir süre
Sunucu belirli bir süre boyunca komut dosyalarını işleyemezse, genellikle bir dakika, 500 Dahili Sunucu Hatası oluşur.
Ayrıca, sunucu ayarlarında belirtilen süre komut dosyasını yürütmek için yeterli değilse, web yöneticileri Apache altından bir CGI komut dosyası çalıştırdıklarında benzer bir hatayla karşılaşabilirler.
Komut dosyaları daha önce çalışıyorsa ve örneğin başka bir barındırmaya geçerken sorunlar ortaya çıktıysa, sorun başka nedenlerden kaynaklanıyor olabilir. Örneğin, sunucunun istekleri engellemesi.
Erişim haklarının ayarlanmasında hatalar
Dosya izinleri 444 veya 644 olmalıdır. Klasörler için CHMOD755'ten farklıdır, yani yalnızca kaynağın sahibi bunları görüntüleyebilir. Komut dosyası izinleri 600 olarak ayarlanmalıdır. Aksi takdirde, güvenlik nedeniyle sunucu, işlevsel olsa bile komut dosyasına erişimi engeller.
500 hatasının nedeni buysa, izinleri değiştirmek için FTP yöneticisini kullanın. Filezilla bu işlevlerle harika bir iş çıkarıyor.
.htaccess dosyası desteklenmeyen yönergeler içeriyor
.htaccess dosyasının sitenin kökünde mi yoksa başka bir yerde mi olduğunu kontrol edin. Varsa, herhangi bir metin düzenleyiciyle açın. Not Defteri'ni kullanabilirsin.
suPHP üzerinde çalışan bir sunucu kullanıyorsanız, örn. php.ini'yi destekler..htaccess dosyasında PHP ortam ayarlarını değiştiren yönergeler varsa sorunlar çıkabilir. En yaygın yönergeler php_admin_flag, php_flag ve php_value'dur.
Global değişkenler genellikle talimat olarak dahil edilir - Register Globals.
Bu sorun çok basit bir şekilde çözülür - istenmeyen parametreler kolayca silinebilir. Başka bir seçenek de, satırın başınaişareti ekleyerek bunları yorumlamaktır. Pound işareti ile yönergenin adı arasında bir boşluk olmalıdır.
Yorumlanan parametreleri kesinlikle çalıştırmanız gerekiyorsa, bunlar php.ini dosyasında belirtilebilir. Bu durumda, php_admin_flag, php_flag ve php_value kullanmanıza gerek yoktur - bunları "gerekli parametre adı=Açık" ilkesine göre atamanız yeterlidir.
PHP ölümcül hatası
PHP, CGI gibi çalışıyorsa bu sorun oluşabilir. Bu durumda, program kodunu dikkatlice kontrol etmeniz, hataları teşhis etmeniz ve düzeltmeniz gerekir. CGI komut dosyası satır sonlarının Windows biçiminde (r\n) değil, UNIX biçiminde (n) olması gerektiğini unutmayın.
Önerilen çözümlerden hiçbiri hatayı düzeltmezse, sunucunuzla iletişime geçin. 500 hatasının ne zaman ve hangi eylemlerden sonra ortaya çıktığını ona ayrıntılı olarak açıklayın. Sorunun nedenlerini belirtmesini ve düzeltmesine yardımcı olmasını isteyin. Barındırıcının http 500 Dahili Sunucu Hatasının neden oluştuğunu anlayamaması durumunda, lütfen kullandığınız CMS'nin desteğiyle iletişime geçin. Dahil olmak üzere mektuba tüm ayrıntıları eklediğinizden emin olun. - barındırma sağlayıcısının durumunuzla ilgili yorumları.