WordPress: Cannot modify header information

In diesem Artikel geben wir Lösungshinweise für den WordPress-Fehler: "Cannot modify header information – headers already sent by". Die Behebung des Fehlers setzt technische PHP-Kenntnisse voraus. Sollten Sie über keine Programmierkenntnisse verfügen, empfehlen wir Ihnen unseren WordPress-Support zu kontaktieren. Wir beheben den Fehler dann gerne für Sie.

Fehlermeldung

Cannot modify header information – headers already sent by (output started at ...) in /home/www/***/html/xxxx.php on line xxx

Hinweis: Die Fehlermeldung kann leicht variieren, je nachdem in welcher WordPress-Datei der Fehler ausgelöst wird.

Fehlerursache

Dieser Fehler tritt auf, wenn eine Ausgabe an den Browser gesendet wird, bevor die PHP-Funktion "header" aufgerufen wird, bzw. wenn bereits eine Ausgabe an den Browser erfolgt ist, und nochmals versucht wird den Header zu bearbeiten.

Der "Cannot modify header information"-Fehler tritt selbst dann auf, wenn nur ein einziges Leerzeichen an den Browser übergeben wird, bevor der Header final geschrieben wurde.

Sehr häufig tritt der Fehler auf, wenn Theme- oder Plugin-Entwickler vor dem öffnenden "<?php" bzw. hinter dem schließen "?>" versehentlich Whitespaces einfügen.

Lösung

  1. Gehen Sie in die entsprechende WordPress-Datei, die in der Fehlermeldung angezeigt wird.
  2. Überprüfen Sie, ob irgendwelche Ausgaben an den Browser gesendet werden. Dies können wie oben beschrieben Leerzeichen sein, oder auch Ausgaben durch die PHP-Funktionen "echo", "print" oder ähnliche Funktionen.
  3. Sollten in der Datei Ausgaben an den Browser erfolgen, diese scheinen aber korrekt zu sein, überprüfen Sie, ob irgendwelche PHP-Funktionen aufgerufen werden, die den Header beeinflussen. Dies sind üblicherweise Funktionen wie "header", aber auch Funktionen, die (Session-)Cookies setzen.
  4. Stellen Sie den Code so um, dass erst der Header final geschrieben wird, und dann PHP-Ausgaben an den Browser gesendet werden.
  5. Sollte der Fehler in Plugins auftreten, so sollte das betreffende WordPress-Plugin deaktiviert werden.

Fehlerbeispiel

Im Folgenden stellen wir Ihnen ein Beispiel vor, das einen "Cannot modify header information – headers already sent by (output started at ...)" erzeugt.


<?php
echo '<html>';
$_SESSION['login'] = 'test';
echo '<body>';

In Zeile 2 findet eine Ausgabe an den Browser statt ("html"). In Zeile 3 wird jetzt aber ein Wert einer Session-Variablen zugewiesen. Session-Variablen werden in Cookies gespeichert. Cookies müssen wiederum im Header festgelegt. An dieser Stelle "knallt" es nun. Wir versuchen den Header in Zeile 3 zu modifizieren, obwohl durch die Ausgabe in Zeile 2 der Header bereits abgeschlossen wurde. In diesem Fall wäre die Lösung also ganz einfach: Wir verschieben die Zuweisung der Session-Variable nach ganz oben.

Auswirkungen des Fehlers

Bei der Meldung "Cannot modify header information – headers already sent by (output started at ...)" handelt es sich nach PHP-Definition nicht um einen Fehler (error), sondern "nur" um eine Warnung (warning). Im Vergleich zu einem Fatal error wird WordPress also vermutlich scheinbar normal laden. Häufig sind sogar keine Beeinträchtigung des WordPress-Systems zu beobachten. Dennoch sollte man dem Problem auf die Schliche kommen, denn womöglich fehlen nun wichtige Informationen im Header, wie bspw. Cookie-Informationen, oder anderweitige Informationen für den Server oder Browser. Die Warnung "Cannot modify header information" ist besonders dann kritisch, wenn diese in Dateien auftritt, die von WordPress sehr früh geladen werden. Sehr häufig ist dies übrigens in der wp-config.php der Fall, wenn unerfahrere User Änderungen am Konfigurationsfile vornehmen. In so einem Fall kann es dann Probleme mit dem WordPress-Login geben.

Hinweis

Sollten Sie den "Cannot modify header information"-Fehler nicht selbst beheben können, wenden Sie sich gerne an unserem WordPress-Support. Wir helfen Ihnen gerne weiter.

Autor

Über den Autor: Tobias Genge

Tobias T. Genge ist gelernter Informatikkaufmann und studierte Wirtschaftsinformatik an der FOM Hamburg. Seit 2007 beschäftigt er sich mit WordPress und gründete 2011 mit Fehler7 eine der ersten rein auf WordPress spezialisierten Agenturen in Deutschland.

WordPress Premium Support

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*