Controleer de logboeken om erachter te komen waarom de 500-fout optreedt. Er is mogelijk een vermelding in het bestand error.log die de oorzaak van het probleem aangeeft. Overweeg de meest voorkomende opties.
Gebrek aan middelen
Als dit de reden is, wordt het probleem heel eenvoudig opgelost - neem contact op met de hosting provider met een verzoek om meer middelen.
De aanwezigheid van onbruikbare scripts of een beperkte tijd voor hun uitvoering
Als de server scripts gedurende een bepaalde tijd, vaak een minuut, niet verwerkt, treedt er een 500 Internal Server Error op.
Webmasters kunnen ook een soortgelijke fout tegenkomen als ze een CGI-script uitvoeren onder Apache, als de tijd die is opgegeven in de serverinstellingen niet genoeg is om het script uit te voeren.
Als de scripts eerder werkten en er problemen zijn opgetreden, bijvoorbeeld bij het verhuizen naar een andere hosting, kan het probleem door andere redenen worden veroorzaakt. Bijvoorbeeld het feit dat de server verzoeken blokkeert.
Fouten bij het instellen van toegangsrechten
Bestandsrechten moeten 444 of 644 zijn. CHMOD voor mappen mag nietverschillend van 755, d.w.z. alleen de eigenaar van de bron kan ze bekijken. Scriptmachtigingen moeten worden ingesteld op 600. Anders blokkeert de server om veiligheidsredenen de toegang tot het script, zelfs als het functioneel is.
Als dit de reden is voor de 500-fout, gebruik dan de FTP-manager om de rechten te wijzigen. Filezilla doet geweldig werk met deze functies.
Het.htaccess-bestand bevat niet-ondersteunde instructies
Controleer of het.htaccess-bestand aanwezig is in de hoofdmap van de site of ergens anders. Als er een is, open deze dan met een teksteditor. U kunt Kladblok gebruiken.
Error 500 kan verschijnen als u een server gebruikt die draait op suPHP, d.w.z. ondersteuning van php.ini. Als er richtlijnen in het.htaccess-bestand staan die de instellingen van de PHP-omgeving wijzigen, kunnen er problemen optreden. De meest voorkomende richtlijnen zijn php_admin_flag, php_flag en php_value.
Global variabelen zijn vaak opgenomen als instructies - Registreer Globals.
Dit probleem is heel eenvoudig opgelost - ongewenste parameters kunnen eenvoudig worden verwijderd. Een andere optie is om ze te becommentariëren door een -teken aan het begin van de regel toe te voegen. Er moet een spatie staan tussen het hekje en de naam van de richtlijn.
Als je absoluut parameters met commentaar moet uitvoeren, kunnen ze worden gespecificeerd in het php.ini-bestand. In dit geval hoeft u php_admin_flag, php_flag en php_value niet te gebruiken - wijs ze gewoon aan volgens het principe: "vereiste parameternaam=Aan".
PHP fatale fout
Dit probleem kan optreden als PHP werkt als CGI. In dit geval moet u de programmacode zorgvuldig controleren, fouten diagnosticeren en oplossen. Merk op dat CGI-scriptregeleinden niet in Windows-indeling (r\n) mogen zijn, maar in UNIX-indeling (n).
Als geen van de voorgestelde oplossingen de fout verhelpt, neem dan contact op met je host. Leg hem in detail uit wanneer en na welke acties de fout 500 is opgetreden. Vraag hem de oorzaken van het probleem aan te geven en te helpen bij het oplossen ervan. Als de hoster niet kan achterhalen waarom de http 500 Internal Server Error is opgetreden, neem dan contact op met de ondersteuning van het CMS dat u gebruikt. Zorg ervoor dat u alle details in de brief vermeldt, incl. - opmerkingen van de hostingprovider over uw situatie.