PHP-Warnung: Header-Informationen können nicht geändert werden
English version: PHP Warning: Cannot modify header information
PHP-Warnung: Header-Informationen können nicht geändert werden – Header wurden bereits gesendet …
Diese Meldung erscheint manchmal im Server-Fehlerprotokoll oder wird auf einer Webseite angezeigt. Sie ist ärgerlich und erweckt den Eindruck, als gäbe es ein Problem mit dem in der Meldung genannten PHP-Skript. Tatsächlich weist diese Meldung jedoch auf ein Problem (einen Bug) in einem anderen Skript, Plugin oder Theme hin. Sie kann auftreten, wenn Sie ein fehlerhaftes Plugin verwenden und die Anzeige von PHP-Fehlern aktiviert ist, was normalerweise deaktiviert sein sollte.
Diese Meldung erscheint, wenn PHP-Code auf einer Webseite eine Ausgabe erzeugt. Typischerweise handelt es sich dabei um eine PHP-Warnmeldung, die eigentlich nicht im Browser des Nutzers angezeigt werden sollte. Diese Ausgabe wird gesendet, bevor der Header der Webseite generiert und an den Browser des Nutzers übermittelt wird. Der Header einer Webseite kann leer sein oder zusätzliche Informationen wie Cookies enthalten.
Unabhängig davon, ob der Header leer ist oder nicht, muss er vor dem eigentlichen Seiteninhalt gesendet werden.
Wenn ein fehlerhaftes WordPress-Plugin eine PHP-Warnung erzeugt, bevor andere Plugins Header an einen Browser senden, führt dies zu einem Serverfehler mit der Meldung „PHP-Warnung: Header-Informationen können nicht geändert werden – Header wurden bereits gesendet …“ .
Eine solche Meldung kann irreführend sein, da sie nicht angibt, welches Skript oder Plugin den Fehler verursacht hat. Erkennt ein Webserver Ausgaben eines Plugins ohne gesendeten Header, erstellt er diesen Header automatisch und sendet ihn an die Browser. Dadurch können alle anderen Plugins, die dieses Verhalten nicht erwarten, ihre Header nicht senden, falls erforderlich.
Wie lässt sich dieses Problem im Kontext der Verwendung von WP Cerber Security lösen?
- Deaktivieren Sie die Fehleranzeige in den PHP-Einstellungen Ihres Hosting-Kontrollpanels. Falls Sie keinen Zugriff auf die PHP-Einstellungen haben, wenden Sie sich bitte an Ihren Hosting-Anbieter.
- PHP-Fehleranzeige in den WP Cerber-Einstellungen auf der Administrationsseite „Härtung“ deaktivieren.
- In den Haupteinstellungen von WP Cerber können Sie die Option „Sicherheits-Engine laden“ auf „Standardmodus“ oder „Erweiterter Modus“ einstellen.
- Prüfen Sie, ob die Konstante WP_DEBUG in der Datei wp-config.php definiert ist. Kommentieren Sie die Zeile mit den doppelten Schrägstrichen // aus oder löschen Sie die gesamte Zeile. So sollte es aussehen:
// define( 'WP_DEBUG', true );
// define( 'WP_DEBUG', 1 ); - Fügen Sie die folgenden Zeilen am Anfang der Datei wp-config.php hinzu:
@ini_set( 'display_errors', 0 );
@ini_set( 'log_errors', 1 );
Können WP Cerber oder WordPress die Ursache des Problems sein?
Nein. Dieses Problem kann nur durch ein veraltetes/fehlerhaftes Plugin oder das aktive Theme verursacht werden. Wie findet man die Ursache? Überprüfen Sie das Server-Fehlerprotokoll. Und bitte entfernen Sie veraltete Plugins.