Wo solltest du mit der Fehlersuche beginnen, wenn auf deiner WordPress-Website ein 500 Internal Server-Fehler angezeigt wird? Manchmal weißt du vielleicht nicht einmal, wo du anfangen sollst. In der Regel befinden sich 500 Fehler auf dem Server selbst, aber aus unserer Erfahrung stammen diese Fehler von zwei Dingen, der erste ist ein Userfehler (klientenseitiges Problem) und der zweite ist, dass ein Problem mit dem Server vorliegt. Also werden wir ein bisschen in beides eintauchen.
Check diese üblichen Gründe und Wege wie man den 500 Internal Server-Fehler bearbeitet und wieder betriebsbereit sein kann.
1. Versuche die Seite erneut zu laden
Dies scheint etwas zu offensichtlich, aber eines der leichtesten und ersten Dinge, die du versuchen solltest, wenn der 500 Internal Server-Fehler auftaucht, ist einfach eine Minute zu warten und die Seite erneut zu laden (F5 oder Ctrl + F5). Es könnte sein, dass der Host oder Server einfach überlastet ist und die Seite wird sofort erscheinen. Während du wartest, könntest du auch schnell einen anderen Browser versuchen um ein Problem auszuschließen.
Das Andere, was du tun kannst, ist die Seite in downforeveryoneorjustme.com einzufügen. Diese Webseite wird dir sagen, ob die Seite zusammengebrochen ist oder ob es ein Problem bei dir gibt. Ein solches Tool überprüft den HTTP-Statuscode, der vom Server zurückgegeben wird. Wenn es sich um etwas anderes als 200 „Alles ist OK“ handelt, wird eine Abwärtsanzeige angezeigt.

downforeveryoneorjustme
Wir haben außerdem festgestellt, dass dies manchmal unmittelbar nach der Aktualisierung eines Plug-ins oder Theme auf deiner WordPress-Website auftreten kann. Dies ist normalerweise so auf Hosts, die nicht ordnungsgemäß eingerichtet sind. Was passiert, ist, dass sie unmittelbar danach eine vorübergehende Auszeit haben. Allerdings lösen sich die Dinge in der Regel in ein paar Sekunden auf und daher ist alles, was du tun musst, zu aktualisieren.
2. Leere dein Browser Cache
Das Löschen deines Browser-Caches ist immer ein weiterer guter Schritt zur Fehlerbehebung, bevor du in tiefer gehendes Debugging auf deiner Website einsteigst. Untenstehend gibt es Instruktionen, wie du es in den verschiedenen Browsern machst:
- Wie du ein Refresh einer einzelnen Seite für alle Browser erzwingst
- Wie du den Browser Cache für Google Chrome leerst
- Wie du den Browser Cache für Mozilla Firefox leerst
- Wie du den Browser Cache für Safari leerst
- Wie du den Browser Cache für Internet Explorer leerst
- Wie du den Browser Cache für Microsoft Edge leerst
- Wie du den Browser Cache für Opera leerst
3. Überprüfe deine Serverprotokolle
Du solltest auch einen Nutzen aus deinen Error-Protokoll ziehen. Falls du ein Kinsta-Klient bist, kannst du einfach Fehler im Protokoll-Fenster im MyKinsta-Dashboard sehen. Dies kann dir helfen schnell das Problem einzukreisen, besonders, wenn es von einem Plugin deiner Seite resultiert.

Überprüfe die Fehlerprotokolle auf 500 Internal Server-Fehler
Falls dein Host kein Protokoll-Tool hat, kannst du auch den folgenden Code zu deiner wp-config.php file hinzufügen um die Protokollierung zu aktivieren:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );Die Protokolle befinden sich normalerweise in der /wp-content-Directory. Andere, so wie hier bei Kinsta haben einen fest zugeordneten Ordner, der „Protokolle“ heißt.
4. Datenbankverbindung fehlgeschlagen
500 Internal Server-Fehler können auch durch einen Datenbankverbindungsfehler auftreten. Abhängig von deinem Browser siehst du möglicherweise verschiedene Fehler. Aber beide generieren einen 500 HTTP-Statuscode unabhängig von deinen Serverprotokollen.
Im Folgenden siehst du ein Beispiel dafür, wie die Meldung „Fehler beim Herstellen einer Datenbankverbindung“ aussieht wie in deinem Browser. Die gesamte Seite ist leer, da zum Rendern der Seite keine Daten abgerufen werden können, da die Verbindung nicht ordnungsgemäß funktioniert. Dies bricht nicht nur das Front-End deiner Website, sondern verhindert auch den Zugriff auf dein WordPress-Dashboard.

Beispiel von „Datenbankverbindung fehlgeschlagen“
Warum genau passiert das? Nun, hier unten sind ein paar häufige Gründe.
- Das häufigste Problem ist, dass deine Anmeldedaten für die Datenbank falsch sin. Deine WordPress-Site verwendet separate Login-Informationen, um eine Verbindung zu ihrer MySQL-Datenbank herzustellen.
- Deine WordPress Datenbank ist beschädigt. Mit so vielen beweglichen Teilen mit Themen, Plugins und Benutzern, die User ständig löschen und installieren, werden Datenbanken manchmal beschädigt. Dies kann an einer fehlenden oder individuell beschädigten Tabelle liegen, oder einige Informationen wurden versehentlich gelöscht.
- Du hast möglicherweise beschädigte Dateien in deiner WordPress-Installation. Dies kann manchmal auch durch Hacker passieren.
- Probleme mit deinem Datenbankserver. Eine Reihe von Dingen könnte am Ende des Web-Hosts falsch sein, beispielsweise wenn die Datenbank von einer Datenverkehrsspitze überlastet wird oder aufgrund von zu vielen gleichzeitigen Verbindungen nicht mehr reagiert. Dies ist bei gemeinsam genutzten Hosts durchaus üblich, da sie dieselben Ressourcen für viele User auf denselben Servern verwenden.
In unserem ausführlichen Beitrag erfährst du, wie du in WordPress den Datenbankverbindungsfehler fixieren kannst.
5. Check deine Plugins und Themes
Plug-ins und Themes von Drittanbietern können leicht zu 500 Internal Server-Fehlern führen. Wir haben gesehen, dass alle Typen hier bei Kinsta sind, von Slider-Plugins bis hin zu Ad Rotator-Plugins. Oft solltest du den Fehler unmittelbar nach dem Installieren von etwas Neuem oder dem Ausführen eines Updates sehen. Dies ist ein Grund, warum wir immer eine Staging-Umgebung für Updates oder zumindest für laufende Updates empfehlen. Andernfalls, wenn du einen 500 Internal Server-Fehler entdeckst, kriechst du plötzlich um herauszufinden, welcher es verursacht hat.
Einige Wege, wie du dies lösen kannst, ist alle deine Plugins zu deaktivieren. Merke dir, dass du keine Daten verlierst, wenn du einfach Plugins deaktivierst. Falls du noch Zugang zu deiner Admin hast, ist ein schneller Weg um das zu tun, deine „Plugins“ zu überfliegen und „Deaktivieren“ vom Bulk Aktion-Menü auszuwählen. Dies wird all deine Plugins deaktivieren.

Deaktivieren aller Plugins
Wenn dies das Problem löst, musst du den Verursacher finden. Beginne sie einzeln wieder zu aktivieren, lade nach jedem Aktivieren die Seite neu. Wenn du den 500 Internal Server-Fehler erneut siehst, hast du den falsch konfigurierten Plugin gefunden. Dann kannst du den Plugin-Entwickler für Hilfe kontaktieren oder eine Support-Anfrage im WordPress-Repository posten.
Falls du keinen Zugang zu deiner Admin hast, kannst du FTP in deinen Server und deinen Plugin-Ordner in etwas wie plugins_old umbenennen. Dann check deine Seite nochmals. Wenn es funktioniert, dann wirst du jedes Plugin einzeln testen müssen. Benenne deinen Plugin-Ordner zurück zu „Plugins“ und dann benenne dann jeden einzelnen Plugin-Ordner innerhalb des Ordners um bis du es gefunden hast. Du kannst auch versuchen, dies zuerst auf einer Staging-Site zu replizieren.

Plugin-Ordner umbenennen
Stelle immer sicher, dass deine Plugins, Themes und WordPress-Core aktuell sind. Und check zur Sicherheit, dass du eine unterstützte Version von PHP ausführst. Falls es sich eine leistungsstarke Anfrage oder ein Bad Code in einem Plugin herausstellt, müsstest du einen WordPress-Entwickler mit einbeziehen um das Problem zu lösen.
6. Installiere WordPress Core neu
Manchmal können WordPress-Kerndateien beschädigt werden, besonders auf älteren Seiten. Es ist eigentlich ganz einfach, einfach nur den Kern von WordPress hochzuladen, ohne deine Plugins oder Themes zu beeinträchtigen. Wir haben einen ausführlichen Leitfaden mit 5 verschiedenen Möglichkeiten, WordPress neu zu installieren. Stelle sicher, dass du eine Sicherungskopie erstellst, bevor du fortfährst. Springe zu einem der folgenden Abschnitte:
- Wie man WordPress über das WordPress-Dashboard neu installiert und dabei den vorhandenen Inhalt erhält
- Wie man manuell WordPress per FTP neu installiert und dabei den vorhandenen Inhalt erhält
- Wie man manuell WordPress per WP-CLI neu installiert und dabei den vorhandenen Inhalt erhält
7. Berechtigungs-Fehler
Ein Berechtigungsfehler mit einer Datei oder einem Ordner auf deinem Server kann auch dazu führen, dass ein 500 Internal Server-Fehler auftritt. Hier sind einige typische Empfehlungen für Berechtigungen, wenn es um Datei- und Ordnerberechtigungen in WordPress geht:
- Alle Dateien sollten 644 (-rw-r-r-) oder 640 sein.
- Alle Verzeichnisse sollten 755 (drwxr-xr-x) oder 750 sein.
- Kein Verzeichnis sollte jemals 777 erhalten, auch nicht Upload-Verzeichnisse.
- Hardening: wp-config.php könnte auch auf 440 oder 400 gesetzt werden, um zu verhindern, dass andere User auf dem Server es lesen.
Weitere Informationen findest du im WordPress Codex-Artikel zum Thema Ändern von Dateiberechtigungen.
Du kannst deine Dateiberechtigungen leicht mit einem FTP-Client sehen (siehe unten). Du kannst dich auch an dein WordPress-Host-Support-Team wenden und sie bitten, schnell Dateierlaubnis für deine Ordner und Dateien zu erteilen, um sicherzustellen, dass sie richtig eingerichtet sind.

Dateiberechtigungen SFTP
8. PHP-Speicherlimit
Ein 500 Internal Server-Fehler kann auch durch Erschöpfung des PHP-Speicherlimits auf deinem Server verursacht werden. Du kannst versuchen, das Limit zu erhöhen. Befolge die nachstehenden Anweisungen, um dieses Limit in cPanel, Apache, deiner php.ini-Datei und der wp-config.php zu ändern.
Erhöhe das PHP-Speicherlimit in Apache
Die Datei .htaccess ist eine spezielle versteckte Datei, die verschiedene Einstellungen enthält, mit denen du das Serververhalten bis auf eine verzeichnisspezifische Ebene ändern kannst. Zuerst loggst du dich über FTP oder SSH auf deine Seite ein, schaust dir dein Root-Verzeichnis an und siehst, ob dort eine .htaccess vorhanden ist.

.htaccess-Datei
Wenn du dort bist, kannst du diese Datei bearbeiten, um den notwendigen Code zum Erhöhen des PHP-Speicherlimits hinzuzufügen. Höchstwahrscheinlich ist es auf 64M oder niedriger eingestellt, du kannst versuchen, diesen Wert zu erhöhen.
php_value memory_limit 128MErhöhe das PHP-Speicherlimit in der php.ini-Datei
Wenn das oben genannte nicht funktioniert, versuche möglicherweise, deine php.ini Datei zu bearbeiten. Login per FTP oder SSH auf deiner Seite, gehe zum Stammverzeichnis deiner Seite und öffne oder erstelle eine php.ini -Datei.

php.ini-Datei
Wenn die Datei bereits vorhanden war, suche nach den drei Einstellungen und ändere sie bei Bedarf. Wenn du die Datei gerade erstellt hast oder die Einstellungen nicht gefunden werden, kannst du den folgenden Code einfügen. Du kannst natürlich die Werte ändern, um deine Bedürfnisse zu erfüllen.
memory_limit = 128MBei einigen Shared Hosts musst du möglicherweise auch die Anweisung suPHP in deiner Datei .htaccess hinzufügen, damit die obigen Einstellungen für die Datei php.ini funktionieren. Bearbeite dazu deine .htaccess -Datei, die sich ebenfalls im Stammverzeichnis deiner Seite befindet, und füge den folgenden Code am Anfang der Datei hinzu:
suPHP_ConfigPath /home/yourusername/public_html
Wenn das oben genannte nicht für dich funktioniert hat, könnte es sein, dass dein Host die globalen Einstellungen gesperrt hat und stattdessen für die Verwendung von .user.ini-Dateien konfiguriert wurde. Um deine .user.ini -Datei zu bearbeiten, login per FTP oder SSH auf deiner Seite, gehe zum Stammverzeichnis deiner Seite und öffne oder erstelle eine .user.ini-Datei. Du kannst dann den folgenden Code einfügen:
memory_limit = 128MErhöhe das PHP-Speicherlimit in wp-config.php
Die letzte Option ist nicht eine, von der wir Fans sind, aber wenn alles andere fehlschlägt, kannst du es versuchen. Zuerst login über FTP oder SSH auf deiner Seite und suche deine Datei wp-config.php, die sich normalerweise im Stammverzeichnis deiner Seite befindet.

wp-config.php-Datei
Füge oben in deiner wp-config.php -Datei den folgenden Code hinzu:
define('WP_MEMORY_LIMIT', '128M');Du kannst deinen Host auch fragen, wenn du Probleme mit dem Speicherlimit hast. Wir nutzen New Relic und andere Lösungs-Methoden hier bei Kinsta um Klienten zu helfen einzukreisen welches Plugin, Abfrage oder Skript das Limit ausschöpft. Du kannst auch unseren eigenen benutzerdifinierten New Relic Key nutzen.

Debuggen mit New Relic
9. Problem mit deiner .htaccess-Datei
Kinsta verwendet nur Nginx, aber wenn du einen WordPress-Host verwendest, auf dem Apache läuft, könnte es sein, dass deine .htaccess-Datei ein Problem hat oder beschädigt wurde. Befolge die folgenden Schritte, um eine neue Vorlage zu erstellen.
Zuerst, log dich über FTP oder SSH auf deiner Seite ein und benenne deine Datei .htaccess in .htaccess_old um.

Benenne die .htaccess-Datei um
Normalerweise, um diese Datei neu zu erstellen, kannst du deine Permalinks einfach in WordPress speichern. Wenn du dich jedoch mitten in einem Internal Server-Fehler von 500 befindest, kannst du höchstwahrscheinlich nicht auf deinen WordPress-Administrator zugreifen, daher ist dies keine Option. Daher kannst du eine neue Datei .htaccess erstellen und folgende Inhalte eingeben. Dann lade es auf deinen Server hoch.
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPressWeitere Beispiele findest du im WordPress Codex z. B. eine Standard .htaccess Datei für mehrere Standorte.
10. Codierungs- oder Syntaxfehler in deinem CGI / Perl-Skript
500 Fehler, die durch Fehler in CGI und Perl verursacht werden, sind viel seltener als früher. Obwohl es immer noch erwähnenswert ist, vor allem für diejenigen, die cPanel verwenden, wo immer noch eine Menge CGI-Skripte mit einem Klick verwendet werden. Wie AEM auf Stack Overflow sagt:
CGI wurde durch eine Vielzahl von Web-Programmierungs-Technologien, einschließlich PHP, verschiedene Apache-Erweiterungen wie mod_perl, Java verschiedener Flavor und Frameworks einschließlich Java EE, Struts, Spring, etc., Python-basierte Frameworks wie Django, Ruby on Rails und andere Ruby-Frameworks und verschiedene Microsoft-Technologien ersetzt.
Hier sind ein paar Tipps, wenn du mit CGI-Skripten arbeitest:
- Verwende beim Bearbeiten immer einen einfachen Texteditor, z. B. Atom, Sublime oder Notepad ++. Dies gewährleistet, dass sie im ASCII-Format bleiben.
- Stelle sicher, dass die korrekten Berechtigungen von chmod 755 für CGI-Skripte und -Verzeichnisse verwendet werden.
- Lade deine CGI-Skripte im ASCII-Modus (den du mit deinem FTP-Editor auswählen kannst) in das cgi-bin-Verzeichnis auf deinem Server hoch.
- Bestätige, dass die Perl-Module, die du für dein Skript benötigst, installiert und unterstützt werden.
11. Server Probleme (Check mit deinem Host)
Schließlich, weil 500 Internal Server-Fehler auch durch PHP-Timing-Out oder fatale PHP-Fehler mit Plugins von Drittanbietern auftreten können, kannst du immer mit deinem WordPress-Host überprüfen. Manchmal können diese Fehler ohne Experten schwierig zu beheben sein. Hier sind nur ein paar häufige Beispiele für einige Fehler, die 500 HTTP-Statuscodes auf dem Server auslösen, die dich vielleicht am Kopf kratzen haben lassen.
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()...PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525Wir überwachen alle Standorte des Kunden hier bei Kinsta und werden automatisch benachrichtigt, wenn diese Art von Fehlern auftritt. So können wir proaktiv sein und das Problem sofort beheben. Wir verwenden auch LXD-verwaltete Hosts und orchestrierte LXC-Softwarebehälter für jeden Standort. Das bedeutet, dass jede WordPress-Site in einem eigenen, isolierten Container untergebracht ist, der über alle Softwareressourcen verfügt, die für die Ausführung erforderlich sind (Linux, Nginx, PHP, MySQL). Die Ressourcen sind zu 100% privat und werden nicht mit anderen oder deinen eigenen Websites geteilt.
PHP-Timeouts können auch durch das Fehlen von PHP-Workern auftreten, obwohl typischerweise diese 504 Fehler und nicht 500 Fehler verursachen. Diese bestimmen, wie viele gleichzeitige Anforderungen deine Seite zu einem bestimmten Zeitpunkt verarbeiten kann. Um es einfach auszudrücken, jede nicht zwischengespeicherte Anfrage für deine Website wird von einem PHP Worker bearbeitet.
Wenn PHP-Worker bereits auf einer Seite beschäftigt sind, beginnen sie, eine Warteschlange aufzubauen. Sobald du dein Limit für PHP-Worker erreicht hast, beginnt die Warteschlange, ältere Anfragen auszulagern, was zu 500 Fehlern oder unvollständigen Anfragen führen kann. Lies unseren ausführlichen Artikel über PHP Worker.
Überwache deine Seite
Wenn du dir über diese Art von Fehlern Sorgen machst, die in Zukunft auf deiner Website auftreten, kannst du auch ein Tool wie updown.io verwenden, um dich zu überwachen und dich sofort zu benachrichtigen, wenn sie auftreten. Es sendet in regelmäßigen Abständen eine HTTP HEAD-Anfrage an die URL deiner Wahl. Du kannst einfach deine Homepage verwenden. Mit dem Tool kannst du die Häufigkeit von:
- 15 Sekunden
- 30 Sekunden
- 1 Minute
- 2 Minuten
- 5 Minuten
- 10 Minuten
Du erhältst eine E-Mail, wenn deine Website ausfällt. Hier ist ein Beispiel:

E-Mail-Benachrichtigung von 500 Fehler
Dies kann besonders nützlich sein, wenn du versuchst, ein fehlerhaftes Plug-In zu debuggen oder dich auf einem Shared Host befindest, der dazu neigt, seine Server zu überfüllen. Dies kann dir beweisen, wie oft deine Website tatsächlich ausgefallen ist (sogar mitten in der Nacht). Deshalb empfehlen wir immer, mit einem Managed WordPress-Host zu gehen. Schaue dir unseren Beitrag an, in dem die Top 9 Gründe für die Auswahl von Managed WordPress Hosting behandelt werden.
Zusammenfassung
500 Internal Server-Fehler sind immer frustrierend, aber hoffentlich weißt du jetzt ein paar zusätzliche Möglichkeiten, sie zu beheben, um deine Seite schnell wieder betriebsbereit zu machen. Denke daran, dass diese Art von Fehlern typischerweise durch Plugins von Drittanbietern, schwerwiegende PHP-Fehler, Datenbankverbindungsprobleme, Probleme mit deiner .htaccess-Datei oder PHP-Speicherbegrenzungen und manchmal PHP-Timeouts verursacht werden.