Kontrollera loggarna för att ta reda på varför 500-felet uppstår. Det kan finnas en post i filen error.log som anger orsaken till problemet. Överväg de vanligaste alternativen.
Brist på resurser
Om detta är anledningen löses problemet mycket enkelt - kontakta hosting-leverantören med en begäran om att öka resurserna.
Förekomsten av inoperabla skript eller en begränsad tid för deras exekvering
Om servern misslyckas med att bearbeta skript under en viss tid, ofta en minut, uppstår ett 500 internt serverfel.
Dessutom kan webbansvariga stöta på ett liknande fel om de kör ett CGI-skript från Apache, om tiden som anges i serverinställningarna inte räcker för att köra skriptet.
Om skripten tidigare fungerade och problem uppstod, till exempel när man flyttade till en annan värd, kan problemet bero på andra orsaker. Till exempel det faktum att servern blockerar förfrågningar.
Fel vid inställning av åtkomsträttigheter
Filbehörigheter måste vara 444 eller 644. CHMOD för mappar får inteskiljer sig från 755, dvs endast ägaren av resursen kan se dem. Skriptbehörigheter måste ställas in på 600. Annars blockerar servern av säkerhetsskäl åtkomst till skriptet, även om det är funktionellt.
Om detta är orsaken till 500-felet, använd FTP-hanteraren för att ändra behörigheterna. Filezilla gör ett bra jobb med dessa funktioner.
.htaccess-filen innehåller direktiv som inte stöds
Kontrollera om.htaccess-filen finns i roten på webbplatsen eller någon annanstans. Om det finns en, öppna den med valfri textredigerare. Du kan använda Notepad.
Fel 500 kan visas om du använder en server som körs på suPHP, dvs. stöder php.ini. Om det finns direktiv i.htaccess-filen som ändrar PHP-miljöinställningarna kan problem uppstå. De vanligaste direktiven är php_admin_flag, php_flag och php_value.
Globala variabler ingår ofta som instruktioner - Registrera globaler.
Detta problem löses mycket enkelt - oönskade parametrar kan helt enkelt raderas. Ett annat alternativ är att kommentera dem genom att lägga till ett -tecken i början av raden. Det måste finnas ett mellanslag mellan pundtecknet och namnet på direktivet.
Om du absolut behöver exekvera kommenterade parametrar kan de specificeras i filen php.ini. I det här fallet behöver du inte använda php_admin_flag, php_flag och php_value - utse dem bara enligt principen: "required parameter name=On".
PHP fat alt fel
Det här problemet kan uppstå om PHP fungerar som CGI. I det här fallet måste du noggrant kontrollera programkoden, diagnostisera och åtgärda fel. Observera att CGI-skriptradändelser inte får vara i Windows-format (r\n), utan måste vara i UNIX-format (n).
Om ingen av de föreslagna lösningarna åtgärdar felet, kontakta din värd. Förklara i detalj för honom när och efter vilka åtgärder felet 500 dök upp. Be honom ange orsakerna till problemet och hjälpa till att åtgärda det. Om värden inte kan ta reda på varför http 500 Internal Server Error uppstod, kontakta supporten för det CMS du använder. Se till att ta med alla detaljer i brevet, inkl. - Värdleverantörens kommentarer angående din situation.