Periksa log untuk mengetahui mengapa kesalahan 500 terjadi. Mungkin ada entri dalam file error.log yang menunjukkan penyebab masalah. Pertimbangkan opsi yang paling umum.
Kekurangan sumber daya
Jika ini alasannya, masalahnya diselesaikan dengan sangat sederhana - hubungi penyedia hosting dengan permintaan untuk menambah sumber daya.
Keberadaan skrip yang tidak dapat dioperasikan atau waktu eksekusi yang terbatas
Jika server gagal memproses skrip untuk jangka waktu tertentu, seringkali dalam satu menit, terjadi 500 Internal Server Error.
Juga, webmaster mungkin mengalami kesalahan serupa jika mereka menjalankan skrip CGI dari Apache, jika waktu yang ditentukan dalam pengaturan server tidak cukup untuk menjalankan skrip.
Jika skrip sebelumnya berfungsi, dan masalah muncul, misalnya, saat pindah ke hosting lain, masalah tersebut mungkin disebabkan oleh alasan lain. Misalnya, fakta bahwa server memblokir permintaan.
Kesalahan dalam mengatur hak akses
Izin file harus 444 atau 644. CHMOD untuk folder tidak bolehberbeda dari 755, yaitu hanya pemilik sumber daya yang dapat melihatnya. Izin skrip harus disetel ke 600. Jika tidak, untuk alasan keamanan, server memblokir akses ke skrip, meskipun skrip tersebut berfungsi.
Jika ini adalah alasan kesalahan 500, gunakan pengelola FTP untuk mengubah izin. Filezilla melakukan pekerjaan yang baik dengan fungsi-fungsi ini.
File.htaccess berisi arahan yang tidak didukung
Periksa apakah file.htaccess ada di root situs atau di tempat lain. Jika ada, buka dengan editor teks apa pun. Anda dapat menggunakan Notepad.
Error 500 mungkin muncul jika Anda menggunakan server yang berjalan di suPHP, mis. mendukung php.ini. Jika ada arahan dalam file.htaccess yang mengubah pengaturan lingkungan PHP, masalah mungkin muncul. Direktif yang paling umum adalah php_admin_flag, php_flag dan php_value.
Variabel global sering disertakan sebagai instruksi - Daftarkan Global.
Masalah ini diselesaikan dengan sangat sederhana - parameter yang tidak diinginkan dapat dengan mudah dihapus. Pilihan lain adalah mengomentarinya dengan menambahkan tandake awal baris. Harus ada spasi antara tanda pound dan nama direktif.
Jika Anda benar-benar perlu mengeksekusi parameter yang dikomentari, parameter tersebut dapat ditentukan dalam file php.ini. Dalam hal ini, Anda tidak perlu menggunakan php_admin_flag, php_flag dan php_value - cukup tentukan sesuai dengan prinsip: "nama parameter yang diperlukan=Aktif".
Kesalahan fatal PHP
Masalah ini dapat terjadi jika PHP bekerja seperti CGI. Dalam hal ini, Anda perlu hati-hati memeriksa kode program, mendiagnosis dan memperbaiki kesalahan. Perhatikan bahwa akhiran baris skrip CGI tidak boleh dalam format Windows (r\n), tetapi harus dalam format UNIX (n).
Jika tidak ada solusi yang disarankan untuk memperbaiki kesalahan, hubungi host Anda. Jelaskan secara rinci kepadanya kapan dan setelah tindakan apa kesalahan 500 muncul. Minta dia untuk menunjukkan penyebab masalah dan membantu memperbaikinya. Jika penghosting tidak dapat mengetahui mengapa http 500 Internal Server Error terjadi, harap hubungi dukungan CMS yang Anda gunakan. Pastikan untuk memasukkan semua detail dalam surat itu, termasuk. - komentar penyedia hosting mengenai situasi Anda.