500 Internal Server Error

Manchmal kommt es vor, dass die liebste Website plötzlich einen Fehler 500 Internal Server Error ausgibt. Das ist ärgerlich. Vor allem passiert dies meist dann, wenn man es am wenigsten braucht. Und besser noch: es erwischt einen, wenn man mal "nicht" ein Backup zur Hand hat.

Zunächst die gute Nachricht. In 99% der Fälle ist deine Arbeit nicht weg. Deine Daten liegen sicher in deiner Datenbank, wir kommen nur derzeit nicht an diese heran.

Warum passiert soetwas? Nun, diesen Fehler können unter anderem ein abgebrochenes Updates, ein defektes Plugin, ein zu schwacher Server verursachen. Die häufigsten Ursachen des Fehlers sind bei WordPress:

  • Fehlerhafte .htaccess: Gesetzter Code ist falsch.
  • PHP-Memory-Limit: Ein Prozess überschreitet den Arbeitsspeicher.
  • PHP-Timeout: Ein Skript versucht auf eine (externe) Ressource zuzugreifen und braucht zu lange (Timeout).
  • Permission-Fehler: Berechtigungen der Hauptdateien und -ordner sind nicht korrekt.
  • Fehler im Code: Skripte sind fehlerhaft. Pfade sind falsch gesetzt.

Manchmal geht die Seiten nach 20 Minuten wieder, da dann der Server selbst offene Vorgänge abgebrochen und neu gestartet hat. Manchmal geht dies nicht ... So oder so solltest du die Ursache für den Fehler finden, damit dieser behoben oder künftig vermieden werden kann.

Fehler 1: htaccess

Sobald die Datei .htaccess einen Fehler enthält, gibt WordPress einen Fehler 500 raus. Dieser Fehler ist leicht zu beheben.

Logge dich per FTP bei deinem Server ein, gehe in das Hauptverzeichnis von WordPress (dort, wo auch die Datei wp-login.php liegt) und benenne die Datei .htaccess um.

Lösche nun den Cache von deinem Browser und lade die Seite neu. Die Seite sollte richtig laden. Sobald du dich als Admin einloggst und die Seite DASHBOARD > EINSTELLUNGEN > ALLGEMEIN speicherst, erstelle WordPress eine neue .htaccess-Datei.

Die Standard-Datei enthält folgenden Code:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] # END WordPress

Sollte der Fehler nicht behoben sein, müssen wir weiterrecherchieren.

Fehler 2: PHP Memory Limit

Der zweite Grund für einen 500 Fehler ist meist, dass der Server die notwendigen Rechenoperationen nicht leisten konnte. WordPress selbst ist ressourcenhungrig. Kommen dann Plugins und Themes dazu, muss der Server eine Menge leisten.

Solltest du dich gar nicht mehr einlogge können, lade das Theme per FTP neu hoch:
https://login.designers-inn.de/question/upload_max_filesize-upload-per-ftp/

Kannst du dich einloggen, prüfe bitte die Serverkonfiguration. Du kannst für erste Informationen dieses kostenlose  Plugin installieren: https://wordpress.org/plugins/wp-serverinfo/

Server-Mindestanforderung WordPress
https://wordpress.org/about/requirements:

PHP 5.6 (besser PHP 7 oder höher)
MySQL 5.5 (oder höher)
The mod_rewrite Apache module

PHP-Mindestanforderung:

post_max_size 256M
memory_limit 256M
max_execution_time 180
upload_max_filesize 256M
max_input_time 600
max_input_vars 5000

.htaccess anpassen

Passe wenn möglich die Datei .htaccess an. Diese liegt in dem WordPress-Stammverzeichnis (wo auch die Datei wp-config.php liegt) und kann mit einem einfachen Texteditor bearbeitet werden. Für folgenden Code an das Ende der Datei ein:

<IfModule mod_substitute.c>
SubstituteMaxLineLength 10M
</IfModule>

Du kannst auch versuche, über die .htaccess das PHP Menory Limit zu erhörhen. Füge diesen Code der Datei hinzu:

# PHP Memory Limit
php_value memory_limit 256M

wp-config.php anpassen

Die Anpassungen kannst du über deinen Hoster-Account vornehmen. Das Memory-Limit kannst du oft über die wp-config-Datei selbst definieren.

Lade aus dem Stamm-Ordner deiner WordPress-Installation die Datei wp-config.php auf deinen Rechner. Füge direkt nach dem öffnenden PHP-Tag folgenden code hinzu:

define('WP_MEMORY_LIMIT', '256M');

Speichere die Datei und lade sie wieder zurück in das WordPress-Verzeichnis. Ersetze die alte Datei. Lösche den Cache von deinem Browser und lade die Seite neu.

Fehler 3: Defekte Plugins

Sollten obige Anpassungen keinen erfolg zeigen, müssen wir weiter auf Fehlersuche gehen. Bitte gehe wie folgt vor: Deaktiviere alle Plugins. Wenn die Seite lädt, aktiviere die Plugins nacheinander, um den Übeltäter zu finden.

Solltest du dich nicht einloggen können, benenne den Plugin-Ordner um. So werden alle Plugins automatisch deaktiviert.

Fehler 4: File Permissions

Berechtigungen sogen in der Regel nicht für den 500-Fehler. Aber falsche Berechtigungen können Abläufe in Schleife setzen oder ins Leere laufen lassen, wodurch der Server an Auslastungsgrenzen kommt.

Öffne dein FTP-Programm (z.B. Filezilla) und klicke in der Hauptebene auf die verschiedenen Ordner und Unterordner. Grundsätzlich sollten hier die Rechte 755 oder 644 als "Permission" eingetragen sein. Abweichungen können Probleme verursachen.

Fehler 5: Defekte WordPress-Dateien

Manchmal kann es vorkommen, dass WordPress selbst Fehler aufweist. Dies kommt zuweilen nach einem WordPress-Update vor, wenn z.B. eine Installation fehlgeschlagen ist. Auch diesen Fehler kannst du rasch korrigieren.

Zunächst lade eine frische WordPress-Installation herunter: https://de.wordpress.org/download/

Entpacke die Datei und lade die Ordner "wp-admin" und "wp-includes" neu hoch. Ersetze die alten Ordner. Keine Sorge: Diese persönlichen Daten liegen an anderer Stelle. Hier sind nur die reinen WordPress-Daten enthalten.

Lösche nach dem Upload den Cache von deinem Browser und lade die Seite neu.

Frage deinen Hoster

Sollte all dies keine Lösung gebracht haben, kontaktiere bitte deinen Hoster. Dieser kann die sogenannten LOG-FILES auslesen und auf diese Weise herausfinden, wo sich der Fehler versteckt.

Fazit

Ich weiß, der Fehler 500 ist nervig. Und auch ich saß schon Stunden vor einem (fast) weißen Bildschirm. Die gute Nachricht ist, dass in 99% der Fälle deine Arbeit nicht weg ist! All deine Seitenihalte liegen in deiner Datenbank. Das Problem ist nur, dass wir den Zugriff darauf wieder herstellen müssen.

Und ein "alter Hut" zum Schluss: Bitte mach vor jedem Update ein Backup deiner Website. So kannst du im schlimmsten Fall immer zur letzten Version zurückspringen! Behalte nicht nur die Updates von WordPress, sondern auch deiner Plugins und Themes im Auge – und auch die technische Leistung deines Hosting-Pakets.