Zum Inhalt springen

08Website-Wissen & Fehlercodes

Fehler 500 und weiße Seite beheben

Internal Server Error oder weiße Seite auf deiner Website bei Nexthosting? So findest du die Ursache mit Fehlerprotokoll, .htaccess-Test, Plugins und PHP-Version.

Kurz gesagt

Ein 500er-Fehler („Internal Server Error“) oder eine leere weiße Seite bedeutet: Dein Skript ist abgebrochen. Die Ursache steht im Fehlerprotokoll. Meist ist es ein defektes Plugin oder Theme, eine fehlerhafte .htaccess, ein zu kleines Speicherlimit oder eine unpassende PHP-Version. Gehe die Schritte unten der Reihe nach durch, das geht schneller, als zu raten.

Wenn der Webserver (Apache) eine PHP-Seite aufruft und PHP unterwegs abstürzt, bekommt der Besucher entweder die Meldung „500 Internal Server Error“ oder eine leere weiße Seite. Letzteres tritt auf, wenn PHP Fehler nicht anzeigen darf (aus Sicherheitsgründen) und das Skript vor der Ausgabe abbricht. Bei WordPress heißt es auch „kritischer Fehler“ oder „Es gab einen kritischen Fehler auf deiner Website“.

Wo es knallen kann
  1. Anfrage erreicht ApacheRegeln aus .htaccess werden gelesen
  2. .htaccess fehlerhaft?Ja: sofort 500
  3. PHP läuftPlugin, Theme, Code
  4. Fehler, Speicher voll oder Zeit abgelaufen?Skript bricht ab
  5. 500 oder weiße Seite
Was siehst du?
Meldung „500 Internal Server Error“ auf allen SeitenMeist .htaccess oder PHP-Version
Weiße Seite ohne TextPHP-Fehler im Protokoll lesen
Nur das Admin-Menü ist kaputtPlugin oder Speicherlimit
Der Fehler kam nach einem UpdateUpdate zurückrollen oder Backup einspielen

Das Fehlerprotokoll (Error-Log) ist der wichtigste Hinweis. Es nennt Datei und Zeile, in der es geknallt hat.

  • Im Webpanel findest du die Protokolle der Website (Zugang zum Webpanel). Die genaue Stelle kann je nach Version variieren; suche nach „Logs“ oder „Fehlerprotokoll“ bei der Website.
  • Per SFTP liegen Protokolle oft in einem Ordner logs neben dem Webverzeichnis (Dateien hochladen per SFTP).
  • Bei WordPress kannst du Fehler in eine Datei schreiben lassen. Ergänze in der wp-config.php vor dem Satz „That’s all, stop editing!“:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Die Meldungen landen dann in wp-content/debug.log. Nimm die Zeilen nach dem Test wieder heraus und lösche die Datei, denn sie kann Pfade und Daten enthalten.

Typische Zeilen und was sie bedeuten:

Eintrag im Protokoll Bedeutung Lösung
Allowed memory size of … exhausted Speicherlimit erreicht Limit erhöhen, Plugin prüfen (Schritt 5)
Maximum execution time of … exceeded Skript zu lange Zeitlimit erhöhen, Aufgabe in Teile zerlegen
Uncaught Error: Call to undefined function Fehlende Erweiterung oder falsche PHP-Version PHP-Version anpassen, Plugin aktualisieren
Parse error: syntax error Tippfehler im Code Letzte Änderung rückgängig machen
Class not found Datei fehlt oder Plugin unvollständig hochgeladen Plugin neu hochladen
.htaccess: Invalid command Unbekannte Anweisung in .htaccess Anweisung entfernen (Schritt 3)
Premature end of script headers PHP hat sich beendet Plugin/Skript prüfen
Permission denied Dateirechte falsch Dateirechte
Can't connect to MySQL oder Error establishing a database connection Datenbank erreichbar? Zugangsdaten falsch? wp-config.php prüfen (Datenbank-Host bei Nexthosting meist localhost) und Datenbank in phpMyAdmin ansehen

Frag dich: Was habe ich zuletzt geändert? Ein Update, ein neues Plugin, eine PHP-Umstellung, eine Datei im Editor? Das ist in neun von zehn Fällen die Ursache. Mache die letzte Änderung rückgängig. Hast du ein Backup, ist das oft der schnellste Weg: Backups und Wiederherstellung.

Eine fehlerhafte .htaccess führt zu 500 auf der ganzen Seite.

  1. Verbinde dich per SFTP oder öffne den Dateimanager im Webpanel.
  2. Benenne .htaccess im Hauptverzeichnis der Website in .htaccess-alt um. Die Datei ist versteckt; aktiviere die Anzeige versteckter Dateien.
  3. Rufe die Seite auf. Geht sie jetzt, lag es an der .htaccess.
  4. Bei WordPress erzeugst du eine neue Standarddatei unter Einstellungen, Permalinks, Änderungen speichern. Danach fügst du eigene Regeln einzeln wieder hinzu und testest nach jeder.

Mehr über erlaubte Anweisungen in .htaccess-Grundlagen.

Bei WordPress verursachen Plugins die meisten Fehler.

  1. Benenne per SFTP den Ordner wp-content/plugins in plugins-aus um. Alle Plugins sind jetzt deaktiviert.
  2. Rufe die Seite auf. Geht sie, war es ein Plugin.
  3. Benenne den Ordner zurück und benenne dann einzelne Plugin-Ordner nacheinander um, bis du das schuldige gefunden hast.
  4. Bleibt der Fehler, benenne den Ordner deines aktiven Themes unter wp-content/themes um. WordPress fällt dann auf ein Standard-Theme zurück.

Hilfe speziell für WordPress: WordPress-Probleme lösen.

Wenn das Protokoll „memory exhausted“ oder „execution time“ nennt, hilft eine Anpassung im Webpanel. Bei Nexthosting kannst du PHP-Einstellungen direkt im Control Panel ändern, ohne Dateien zu bearbeiten (PHP-Einstellungen).

Einstellung Wofür Üblicher Wert
memory_limit Speicher pro Skript 256M (bei großen Shops mehr)
max_execution_time Laufzeit eines Skripts 60 bis 300 Sekunden
upload_max_filesize Größe eines Uploads 64M
post_max_size Größe einer Anfrage größer als upload_max_filesize

Die Grenzen deines Tarifs gelten trotzdem: Mehr als der Tarif erlaubt, kannst du nicht einstellen. Brauchst du dauerhaft mehr, schau dir einen größeren Tarif an.

Alte Plugins vertragen manchmal neue PHP-Versionen nicht, neue brauchen eine neue. Webhosting bei Nexthosting unterstützt PHP 8.2 bis 8.5, Standard ist 8.4. Wechsle probeweise zur vorherigen Version und lade die Seite neu. Hilft das, aktualisiere das Plugin oder lass es ersetzen.

  • Dateien sollten meist 644, Ordner 755 haben (Dateirechte). Rechte wie 777 sind falsch und können auf manchen Servern selbst zum 500er führen.
  • Ist die Datenbank erreichbar? Falsche Zugangsdaten in wp-config.php führen zu „Error establishing a database connection“.

Wenn du nichts im Protokoll findest oder der Fehler nach allen Schritten bleibt, öffne ein Ticket. Schicke:

  • die Adresse der Seite,
  • genaue Uhrzeit des Fehlers,
  • die Zeilen aus dem Fehlerprotokoll,
  • was du zuletzt geändert hast,
  • was du schon ausprobiert hast.

Mehr unter Fehler gut beschreiben und Support.

Wieso sehe ich keine Fehlermeldung, nur eine weiße Seite?

Abschnitt betitelt „Wieso sehe ich keine Fehlermeldung, nur eine weiße Seite?“

PHP darf Fehler aus Sicherheitsgründen nicht im Browser zeigen. Die Meldungen stehen im Fehlerprotokoll.

Ein 500 liegt fast immer an der Website selbst. Läuft ein Serverproblem, siehst du das auf der Statusseite.

Kann ich den Fehler selbst beheben, wenn ich nicht programmiere?

Abschnitt betitelt „Kann ich den Fehler selbst beheben, wenn ich nicht programmiere?“

Meist ja: letzte Änderung zurücknehmen, Plugins nacheinander abschalten, Backup einspielen.