Überprüfen Sie die Protokolle, um herauszufinden, warum der 500-Fehler auftritt. Möglicherweise gibt es einen Eintrag in der error.log-Datei, der die Ursache des Problems angibt. Betrachten Sie die gängigsten Optionen.
Mangel an Ressourcen
Wenn dies der Grund ist, ist das Problem ganz einfach gelöst - wenden Sie sich an den Hosting-Providermit der Bitte, die Ressourcen zu erhöhen.
Das Vorhandensein nicht funktionsfähiger Skripte oder eine begrenzte Zeit für ihre Ausführung
Wenn der Server für eine bestimmte Zeit, oft eine Minute, keine Skripte verarbeitet, tritt ein 500 Internal Server Error auf.
Auch Webmaster können auf einen ähnlichen Fehler stoßen, wenn sie ein CGI-Skript unter Apache ausführen, wenn die in den Servereinstellungen angegebene Zeit nicht ausreicht, um das Skript auszuführen.
Wenn die Skripte zuvor funktionierten und Probleme auftraten, beispielsweise beim Wechsel zu einem anderen Hosting, kann das Problem andere Ursachen haben. Zum Beispiel die Tatsache, dass der Server Anfragen blockiert.
Fehler beim Setzen der Zugriffsrechte
Dateiberechtigungen müssen 444 oder 644 sein. CHMOD für Ordner darf nicht seinanders als 755, d. h. nur der Besitzer der Ressource kann sie sehen. Skriptberechtigungen müssen auf 600 gesetzt werden. Andernfalls blockiert der Server aus Sicherheitsgründen den Zugriff auf das Skript, auch wenn es funktionsfähig ist.
Wenn dies der Grund für den 500-Fehler ist, verwenden Sie den FTP-Manager, um die Berechtigungen zu ändern. Filezilla leistet mit diesen Funktionen hervorragende Arbeit.
Die.htaccess-Datei enthält nicht unterstützte Anweisungen
Überprüfen Sie, ob die.htaccess-Datei im Stammverzeichnis der Website oder anderswo vorhanden ist. Wenn es einen gibt, öffnen Sie ihn mit einem beliebigen Texteditor. Sie können Notepad verwenden.
Fehler 500 kann erscheinen, wenn Sie einen Server verwenden, der auf suPHP läuft, d.h. Unterstützung von php.ini. Wenn in der.htaccess-Datei Anweisungen enth alten sind, die die PHP-Umgebungseinstellungen ändern, können Probleme auftreten. Die gebräuchlichsten Direktiven sind php_admin_flag, php_flag und php_value.
Globale Variablen sind oft als Anweisungen enth alten - Register Globals.
Dieses Problem ist ganz einfach gelöst - unerwünschte Parameter können einfach gelöscht werden. Eine andere Möglichkeit besteht darin, sie auszukommentieren, indem Sie am Anfang der Zeile ein -Zeichen hinzufügen. Zwischen dem Nummernzeichen und dem Namen der Direktive muss ein Leerzeichen stehen.
Wenn Sie unbedingt kommentierte Parameter ausführen müssen, können diese in der Datei php.ini angegeben werden. In diesem Fall müssen Sie php_admin_flag, php_flag und php_value nicht verwenden - benennen Sie sie einfach nach dem Prinzip: "erforderlicher Parametername=Ein".
Schwerer PHP-Fehler
Dieses Problem kann auftreten, wenn PHP wie CGI funktioniert. In diesem Fall müssen Sie den Programmcode sorgfältig überprüfen, Fehler diagnostizieren und beheben. Beachten Sie, dass CGI-Skript-Zeilenenden nicht im Windows-Format (r\n), sondern im UNIX-Format (n) vorliegen müssen.
Wenn keine der vorgeschlagenen Lösungen den Fehler behebt, wenden Sie sich an Ihren Gastgeber. Erklären Sie ihm ausführlich, wann und nach welchen Aktionen der Fehler 500 aufgetreten ist, und bitten Sie ihn, die Ursachen des Problems anzugeben und bei der Behebung zu helfen. Falls der Hoster nicht herausfinden kann, warum der HTTP 500 Internal Server Error aufgetreten ist, wenden Sie sich bitte an den Support des von Ihnen verwendeten CMS. Achten Sie darauf, alle Details in das Schreiben aufzunehmen, inkl. - Kommentare des Hosting-Providers zu Ihrer Situation.