Die HTTP-Sta­tus­codes in­for­mie­ren darüber, ob eine Anfrage im Internet er­folg­reich war, und wenn nicht, was der Fehler ist. Doch sind die Aussagen der Feh­ler­mel­dun­gen nicht immer eindeutig. Das gilt besonders für „500 Internal Server Error“. Diese Feh­ler­mel­dung gibt Auskunft darüber, dass bei der Ver­bin­dung zum Server ein Fehler auf­ge­tre­ten ist und deshalb die an­ge­for­der­te Seite nicht auf­ge­ru­fen werden kann. Woran es genau liegt, erfährt man jedoch nicht. Glück­li­cher­wei­se gibt es ver­schie­de­ne Methoden, um die Ursache zu finden. Wir weisen auf typische Feh­ler­quel­len hin und geben Tipps, wie Sie reagieren sollten, wenn Sie auf den HTTP-Fehler 500 stoßen.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

Was bedeutet der Internal Server Error?

Mit Sta­tus­codes teilt der Webserver dem Browser (Client) eines In­ter­net­nut­zers mit, ob eine Anfrage – also ein Website-Aufruf – er­folg­reich war oder nicht. Bekommt der Browser den Status 200 mit­ge­teilt, weiß er, dass alles gut gelaufen ist. Der Nutzer bekommt diese Meldung aber nicht zu sehen, schließ­lich er­schei­nen statt­des­sen die an­ge­frag­ten Inhalte. Anders sieht es bei den 400er- und 500er-Codes aus. Während erstere auf Fehler beim Client hinweisen, sind letztere ser­ver­be­dingt. Der Internal Server Error 500 ist dabei ein Sammel-Sta­tus­code für Ser­ver­feh­ler. Deshalb ist auf den ersten Blick auch nicht zu erkennen, wo der Fehler tat­säch­lich liegt. Man erfährt als Nutzer nur: Der Server meldet einen un­er­war­te­ten Fehler.

Falls der Server al­ler­dings den Microsoft In­for­ma­ti­on Service (Microsoft IIS) in­stal­liert hat, wird der Feh­ler­code spe­zi­fi­ziert. Nach­kom­ma­stel­len weisen de­tail­lier­ter auf die Feh­ler­ur­sa­che hin:

  • 500.0: Ein Modul oder eine ISAPI sind feh­ler­haft.
  • 500.11: Eine Anwendung wird gerade auf dem Server her­un­ter­ge­fah­ren.
  • 500.12: Eine Anwendung wird gerade auf dem Server neu­ge­star­tet.
  • 500.13: Der Webserver ist zurzeit komplett aus­ge­las­tet.
  • 500.15: Eine direkte An­for­de­rung für die (optionale) Datei global.asax ist nicht zulässig.
  • 500.19: Daten der Kon­fi­gu­ra­ti­on sind ungültig.
  • 500.21: Ein Modul wird nicht erkannt.
  • 500.22: Eine HTTP-Modul-Kon­fi­gu­ra­ti­on (innerhalb einer ASP.NET-Web­an­wen­dung) ist im ver­wal­te­ten Pipe­line­mo­dus nicht anwendbar.
  • 500.23: Eine HTTP-Handler-Kon­fi­gu­ra­ti­on (innerhalb einer ASP.NET-Web­an­wen­dung) ist im ver­wal­te­ten Pipe­line­mo­dus nicht anwendbar.
  • 500.24: Eine Iden­ti­täts­wech­sel­kon­fi­gu­ra­ti­on (für ASP.NET) ist im ver­wal­te­ten Pipe­line­mo­dus nicht ver­wend­bar.
  • 500.50: Während die RQ_BEGIN_REQUEST-Be­nach­rich­ti­gung ver­ar­bei­tet wurde, ist ein Fehler beim Neu­schrei­ben auf­ge­tre­ten.
  • 500.51: Während die GL_PRE_BEGIN_REQUEST-Be­nach­rich­ti­gung ver­ar­bei­tet wurde, ist ein Fehler beim Neu­schrei­ben auf­ge­tre­ten.
  • 500.52: Während die RQ_SEND_RESPONSE-Be­nach­rich­ti­gung ver­ar­bei­tet wurde, ist ein Fehler beim Neu­schrei­ben auf­ge­tre­ten.
  • 500.53: Während die RQ_RELEASE _REQUEST_STATE-Be­nach­rich­ti­gung ver­ar­bei­tet wurde, ist ein Fehler beim Neu­schrei­ben auf­ge­tre­ten.
  • 500.100: In der ASP-Engine ist ein Fehler auf­ge­tre­ten.

Welche Ursachen führen zum Error 500?

Der „Internal Server Error“ kann beim Ver­ar­bei­ten der Anfrage durch den Webserver entstehen. Der Sammel-Sta­tus­code umfasst alles, was beim Server ungeplant passieren und damit die Ausgabe der Website ver­hin­dern kann. Wahr­schein­lich tritt der Server-Error 500 auf, weil in der Kon­fi­gu­ra­ti­on des Web­ser­vers ein Fehler auf­ge­taucht ist. Hier eine Auswahl an typischen Feh­ler­quel­len:

  • Per­mis­si­on-Fehler: Die Be­rech­ti­gun­gen der Haupt­da­tei­en und -ordner sind nicht korrekt gesetzt.
  • PHP-Timeout: Das Skript versucht auf eine externe Ressource zu­zu­grei­fen und erfährt dabei ein Timeout.
  • Fehler in der Syntax oder dem Code in CGI-/Perl-Scripts: In manchen Fällen sind Skripte feh­ler­haft. Besonders Pfade können falsch aus­ge­rich­tet sein.
  • PHP-Memory-Limit: Ein Prozess über­schrei­tet den Ar­beits­spei­cher und kann deshalb nicht korrekt aus­ge­führt werden.

Bei WordPress-Seiten oder anderen Content-Ma­nage­ment-Systemen kann zudem die In­stal­la­ti­on einer feh­ler­haf­ten oder in­kom­pa­ti­blen Er­wei­te­rung die Ursache sein: Plug-ins und Themes – besonders von Dritt­an­bie­tern – können die komplette Website be­ein­träch­ti­gen.

So können Webmaster den 500 Internal Server Error beheben

Die Besucher Ihrer Website bekommen keine Inhalte mehr zu sehen, sondern nur noch den 500er-Server-Error? Als Betreiber sollten Sie das Problem direkt angehen, denn es werden nicht nur die Besucher Ihrer Website ver­schreckt, auch Google könnte Sie im Ranking her­ab­set­zen. Bevor Sie als Webmaster Maßnahmen ergreifen, über­prü­fen Sie zunächst, ob Ihr Server überhaupt noch läuft. Wenn nicht, ist eine schnelle Kon­takt­auf­nah­me zu Ihrem Hosting-Anbieter nötig.

Liegt ein interner Fehler vor, sichten Sie zuerst die Log-Dateien: Bei Linux-Servern sollte die Sammlung der Feh­ler­mel­dun­gen unter /var/log/httpd/error_log zu finden sein. Dabei ist es sinnvoll, die Website erneut zu laden, um den HTTP-Error 500 zu re­pro­du­zie­ren und dabei die Er­stel­lung der Log-Datei zu be­ob­ach­ten. So finden Sie die Feh­ler­quel­le recht schnell. Überlegen Sie auch, welche Än­de­run­gen Sie kurz zuvor durch­ge­führt haben. In vielen Fällen sorgen falsch pro­gram­mier­te oder in­kom­pa­ti­ble Plug-ins für Feh­ler­mel­dun­gen.

Der Error kann auch auftreten, wenn Sie Be­rech­ti­gun­gen bei wichtigen Dateien nicht korrekt gesetzt haben. Generell gibt es drei Arten von Rechten:

  • Lesen (r für read)
  • Schreiben (w für write)
  • Ausführen (x für execute)

Diese Be­rech­ti­gun­gen können für drei ver­schie­de­ne Nut­zer­ar­ten vergeben werden:

  • Besitzer der Datei
  • Gruppe an Nutzern
  • Alle anderen

Die Rechte werden entweder in den Ab­kür­zun­gen r, w und x oder in ent­spre­chen­den Zah­len­wer­ten angegeben: 4 für Lesen, 2 für Schreiben und 1 für Ausführen. Sie werden für jede Nutzerart addiert und nach­ein­an­der angegeben: rwxr-xr-x (rwx für den Besitzer, r-x für die Gruppe und r-x für alle anderen) oder 755. Diese Kon­fi­gu­ra­ti­on (also 755) sollte die Stan­dard­ein­stel­lung sein. Wenn die Rech­te­zu­wei­sung anders gesetzt ist, kann daraus der Fehler entstehen. Ändern können Sie dies mit einem Befehl:

chmod 755 Dateiname

Falls diese Änderung das Problem nicht ändern sollte, können Sie auch für Test­zwe­cke alle Rechte für jede Gruppe freigeben:

chmod 777 Dateiname

Benutzen Sie diese Ein­stel­lung aber nur, um das Problem zu lo­ka­li­sie­ren. Sie haben damit jedem be­lie­bi­gen Nutzer erlaubt, die Datei um­zu­schrei­ben, was ver­ständ­li­cher­wei­se ein Si­cher­heits­ri­si­ko darstellt.

Über­prü­fen Sie als nächstes (falls nicht die Rech­te­ver­tei­lung die Feh­ler­mel­dung pro­du­ziert hat), ob Ihre Skripte richtig laufen. Manchmal entstehen Fehler, weil die Skript-Dateien ver­scho­ben, umbenannt oder gelöscht wurden. Über­prü­fen Sie auch die .htaccess-Datei: Schon ein Syn­tax­feh­ler – und mag er noch so klein sein – kann den Internal Server-Error erzeugen. Ein ebenso häufiger Fehler ist die falsche For­ma­tie­rung der .htaccess-Datei. Diese muss im ASCII- bzw. ANSI-Format erstellt sein, nicht in Unicode. Schreiben Sie daher die Datei in einem Text­edi­tor wie Notepad, Notepad++ oder Sublime Text und nicht in einem Text­ver­ar­bei­tungs­pro­gramm wie Microsoft Word. Um zu testen, ob die Datei ver­ant­wort­lich für den Error ist, können Sie diese temporär um­be­nen­nen und die Website neu laden. Der Server wird nun beim Laden der Website nicht auf .htaccess zugreifen. Sollte die Feh­ler­mel­dung nicht mehr auf­tau­chen, können Sie die Datei re­pa­rie­ren oder eine neue erstellen.

Schließ­lich kann auch ein Timeout zu der Feh­ler­mel­dung führen. In diesem Fall ist es gar kein Fehler des Web­ser­vers, sondern vielmehr die un­ter­bro­che­ne Ver­bin­dung zu einer externen Quelle. Sind PHP-Skripte Ihrer Website so ein­ge­stellt sind, dass Sie auf Res­sour­cen von anderen Servern zugreifen? Eventuell ist die Ressource nicht mehr verfügbar oder die Server-Kom­mu­ni­ka­ti­on ist aus einem anderen Grund gestört. Eine Mög­lich­keit, diese Feh­ler­quel­le aus­zu­schlie­ßen, ist selbst­ver­ständ­lich, Ihre Seite nicht von aus­wär­ti­gen Res­sour­cen abhängig zu machen. Wenn das nicht möglich ist, können Sie das Timelimit Ihres Skripts erhöhen. Zudem ist es sinnvoll, ein ef­fi­zi­en­tes Error-Handling ein­zu­bau­en, damit können Fehler im PHP-Skript genauer auf­ge­deckt werden.

Könnte der Ar­beits­spei­cher über­las­tet sein? Mit dem Memory-Limit wird fest­ge­legt, wieviel Ar­beits­spei­cher ein Prozess be­an­spru­chen darf. Sollte mehr RAM gebraucht werden, als zur Verfügung steht, kann ein Internal Server Error die Folge sein. Als temporäre Lösung können Sie das Limit hoch­set­zen. Dafür fügen Sie einen Befehl nach diesem Muster in die php.ini ein:

memory_limit = 512M

In diesem Beispiel würden Sie den zur Verfügung ge­stell­ten Ar­beits­spei­cher auf 512 MB festlegen. Bedenken Sie aber, dass Ihr Hosting-Provider Ihnen innerhalb des gebuchten Angebots nur ein be­stimm­tes PHP-Skript-Limit gewährt. Wenn Sie einen höheren Wert eintragen, wird der Webserver diesen igno­rie­ren. Das Hoch­set­zen des Limits darf zudem nur eine Über­gangs­lö­sung sein: Sobald Ihre Seite wieder funk­tio­niert, sollten Sie nach dem Grund für den hohen RAM-Anspruch suchen. Mit hoher Wahr­schein­lich­keit lässt sich der Fehler im Code Ihrer Website finden.

Sollten Sie durch keine der vor­ge­stell­ten Methoden zu einer Lösung kommen, ist es eine gute Idee, Ihren Hosting-Anbieter zu kon­tak­tie­ren. Zuvor können Sie den Status der Server über­prü­fen: Viele Anbieter von Hosting-Diensten geben den Zustand ihrer Server über eine Sta­tus­sei­te bekannt oder in­for­mie­ren Nutzer per Social Media, wenn ein Problem auf­ge­tre­ten ist.

Tipp

Auch IONOS hat eine Sta­tus­sei­te, auf der Kunden des Hos­tin­g­an­ge­bots über aktuelle Probleme in­for­miert werden.

Sollten bereits Ser­ver­pro­ble­me bekannt sein, müssen Sie sich in Geduld üben: Ihnen bleibt nichts anderes übrig, als zu warten, bis das IT-Team des Hosts den Fehler behoben hat. Aber auch wenn keine Probleme bei den Servern bekannt sind, kann der Kontakt zum Support hilfreich sein. Teilen Sie diesem dabei mit, welche Maßnahmen Sie bereits selbst un­ter­nom­men haben. So kann Ihnen schnell geholfen werden.

Wie sollen In­ter­net­sur­fer bei einem HTTP-Error 500 reagieren?

Als Besucher einer Website können Sie prin­zi­pi­ell wenig tun, wenn Sie auf einen Internal Server-Error stoßen. Der Webserver, auf dem sich die an­vi­sier­te In­ter­net­sei­te befindet, weist eine feh­ler­haf­te Kon­fi­gu­ra­ti­on auf. Das bedeutet, dass kein Fehler in den Ein­stel­lun­gen Ihres PCs oder der Netz­werk­ver­bin­dung vorliegt. Deshalb ist für Sie als In­ter­net­nut­zer die ein­fachs­te Lösung meist, die Seite zu einem späteren Zeitpunkt erneut zu laden. Zum einen kann es sein, dass der Webmaster den Fehler in­zwi­schen schon behoben hat. Das ist vor allem bei großen Anbietern sehr wahr­schein­lich. Zum anderen kommt es vor, dass Sie zufällig zu einem für den Webserver un­güns­ti­gen Zeitpunkt auf die Inhalte zugreifen wollen. Falls Sie gerade den Moment erwischt haben, in dem ein Dienst neu bootet, wird Ihnen die Feh­ler­mel­dung angezeigt, obwohl ei­gent­lich alles nach Plan läuft.

Hinweis

Wenn Sie während eines On­line­be­stell­vor­gangs mit der Feh­ler­mel­dung kon­fron­tiert werden, dürfen Sie die Webseite nicht neu laden. Sie können schließ­lich nicht einsehen, an welchem Punkt der Fehler auf­ge­tre­ten ist. Eventuell ist erst das Laden der Be­stä­ti­gungs-Page fehl­ge­schla­gen, Ihre Be­stel­lung wurde aber bereits vom System erfasst. Ein Refresh könnte in diesem Fall zu einer doppelten Be­stel­lung führen.

Ebenfalls möglich ist, dass ein plötz­li­cher extremer Anstieg von Sei­ten­auf­ru­fen den Server in die Knie gezwungen hat. Auch dieses Problem ist meist innerhalb von wenigen Sekunden bereits wieder aus der Welt geschafft – es sei denn, die Website ist dauerhaft über­las­tet. Wenn Sie auch nach einem Refresh der Seite noch die Feh­ler­mel­dung angezeigt bekommen, sollten Sie zunächst den Cache Ihres Browsers löschen. Eventuell lädt der Browser die Website nicht wirklich neu, sondern greift auf seinen internen Speicher zurück. Probieren Sie nach dem Leeren des Caches aufs Neue, die Website auf­zu­ru­fen.

Wenn nun immer noch „500 Internal Server Error“ angezeigt wird, bleibt Ihnen kaum mehr übrig, als zu warten, bis der Betreiber des In­ter­net­auf­tritts das Problem behoben hat. Mit einem kleinen Trick kommen Sie aber eventuell noch an Inhalte der Webseite. Wenn Sie nicht auf den ak­tu­ells­ten Stand der (funk­tio­nie­ren­den) Seite an­ge­wie­sen sind, können Sie auf den Cache von Google zu­rück­grei­fen. Wenn Sie in die Such­leis­te von Google den Befehl cache:, gefolgt von der be­tref­fen­den URL eingeben, können Sie auf eine frühere – hof­fent­lich noch funk­tio­nie­ren­de – Version der Webseite zugreifen. Sie surfen dann al­ler­dings nicht wirklich auf der Seite, sondern bewegen sich nur innerhalb der Kopie, die sich auf dem Google-Server befindet.

Müssen Sie noch weiter zu­rück­ge­hen, kann ein Blick in die Wayback Machine des Internet Archives lohnen. Dort sind teilweise Jahr­zehn­te alte Versionen von Websites zu finden.

Wenn die Website, die Sie besuchen wollen, über einen längeren Zeitraum nicht aufrufbar ist, können Sie selbst­ver­ständ­lich auch den oder die Webmaster kon­tak­tie­ren. Diesen ist viel­leicht noch gar nicht auf­ge­fal­len, dass In­ter­net­nut­zer nicht mehr auf ihr Angebot zugreifen können, weshalb sie sich über Ihren Hinweis freuen.

Zum Hauptmenü