Warning: Cannot modify header information - headers already sent by...

  • Hallo zusammen,
    ich habe ein eigenes kleines Plugin geschrieben um aus einer Tabelle einer DB Daten in eine andere Tabelle eines anderen Plugins zu schrieben. Auf meinem Testserver funktioniert das auch ohne Probleme. Jetzt wollte ich das Plugin bei einem Bekannten auf dessen Wordpressinstallation installieren. Jedes mal wenn der Button zum Kopieren der Daten gedrückt wird, bekomme ich folgende Meldung:

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/3/d434234131/htdocs/partyphase/wp-content/plugins/calcopy/calcopy.php:38 ) in /homepages/3/d434234131/htdocs/partyphase/wp-includes/pluggable.php on line 1121

    Ich habe bereits auf Leerzeichen geachtet und da alles mit dem Dreamweaver geschrieben wurde und das Plugin auf meinem Server läuft, vermute ich den Fehler an anderer Stelle. Vielleicht könn tihr mir helfen. Ich habe die beiden Dateien des Plugins angehängt.

    Viele Grüße
    saromir

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Die Post-Actions werden ausgeführt, noch bevor irgendwas gemacht wurde. (keine Ausgaben und vorallem keiner Header gesendet)

    Dein Post-Event gibt Daten aus (ich sehe da ECHOs) und dann versuchst du einen Redirect durchzuführen, welches über die Header gemacht wird.
    Also entweder du gibst etwas aus oder du leitest weiter ... Beides geht nicht und ist auch sinnlos, denn wie soll das jemand lesen, wenn sofort weitergeleitet wird?

    Ist bei dir eventuell ein Komprimierung (gzip) aktiv?
    Diese könnte die Ausgaben verzögern, so daß die Ausgaben vom Echo nicht sofort ausgegeben werden und dann erst nach dem Redirect erscheinen.

    Einmal editiert, zuletzt von himitsu (7. Januar 2015 um 17:30)

  • Hi himitsu,
    danke für deine schnelle Antwort! Nein gzip ist nicht aktiv. Die Ausgaben, also die Echos brauche ich nicht unbedingt. Allerdings funktioniert es auch ohne die beiden Echos nicht. Gleicher Fehler.

  • Hi himitsu,
    danke für deine schnelle Antwort! Nein gzip ist nicht aktiv. Die Ausgaben, also die Echos brauche ich nicht unbedingt. Allerdings funktioniert es auch ohne die beiden Echos nicht. Gleicher Fehler.



    Was verstehst du an der Meldung nicht?

    Warning
    : Cannot modify header information - headers already sent by (output started at /homepages/3/d434234131/htdocs/partyphase/wp-content/plugins/calcopy/calcopy.php:38

    Mit offenen Augen träumen

  • Hallo r23,
    ich verstehe nicht woher der Fehler rührt. Mir ist klar dass der Header bereits gesendet wurde. Aber warum bekomme ich auf dem einen Server eine Fehlermeldung und auf dem anderen nicht?

  • Schließe Deine Funktion function admin_page() bitte richtig ab. Da fehlt die geschweifte Klammer

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Hallo r23,
    ich verstehe nicht woher der Fehler rührt.


    Das woher ist calcopy.php in Zeile 38.

    Und was ist da?

    Schließe Deine Funktion function admin_page() bitte richtig ab. Da fehlt die geschweifte Klammer


    Die Klammer ist da, allerdings vor dem letzten <div>


    Meine Vermutung ist einfach, daß bei dir irgendein Caching aktiv ist.
    z.B. ob_start im WordPress oder eventuell auch ein gzip im HTTP-Server.

  • Kommando zurück. Das div ist hinter dem Ende der Funktion. Das gehört da gar nicht hin. Und wirf mal die gemischte PHP/HTML Schreibweise raus. Und schließe den p Tag ab. Und was die Ausgabe von $header nach der Ausgabe des HTML Codes und von $token soll, versteht auch keiner. Dieses Plugin läuft auf keinem Server auch nicht auf Deinem anderen. Dann jast Du zwei unterschiedliche Versionen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Meine Vermutung ist einfach, daß bei dir irgendein Caching aktiv ist.
    z.B. ob_start im WordPress oder eventuell auch ein gzip im HTTP-Server.

    Nein. Er hat einfach fehlerhaft Programmiert.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

    Einmal editiert, zuletzt von mensmaximus (7. Januar 2015 um 18:43)

  • Quickclean ohne Prüfung

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Deaktiviere und aktiviere mal das Plugin bei dir.
    Alleine das </div> sollte bereits beim aktivieren knallen.

    Oder mal bei WordPress abmelden und hier fragen, warum du dich eventuell nicht mehr einloggen kannst. (can not send header ...)

    Zitat

    Nein. Du hast einfach fehlerhaft Programmiert.


    Ich?

    Nja, durch irgendwas muß es bei ihm zufällig funktionieren, auch wenn es eigentlich total falsch/fehlerhaft ist.

  • Ich?

    Nein. Sorry, der TO. Du weist doch ich bin langsam ;-)

    Nja, durch irgendwas muß es bei ihm zufällig funktionieren, auch wenn es eigentlich total falsch/fehlerhaft ist.

    Es kann nicht gehen. Nicht mit dem Code aus dem ZIP File. Oder ich habe eine Einstellung in PHP übersehen: continue_even_with_fatal_errors = on;

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Hallo zusammen,
    ich vermute es funktioniert nach dem clean. Danke euch. Das war das erste Wordpress plugin von mir. Daher bin ich noch etwas wackelig auf den Beinen ;). tut mir leid.

    Ich muss jetzt auf dem 2. Server noch den Speicher erhöhen, da folgend eZeile nun ausgegeben wird:

    atal error: Out of memory (allocated 133955584) (tried to allocate 20 bytes) in /homepages/3/d434234131/htdocs/meineInstallation/wp-includes/wp-db.php on line 1941

    Wobei 80 MB eigentlich locker reichen sollten. Das Skript slebst braucht nicht viel und außer der einen Wordpressinstallation läuft auf dem Server nichts...

  • Wenn ich die Funktion function copyCalender() ansehe wundert mich das nicht. Je nach Menge der Events und Facebook Einträge kannst Du Deiner VM schon mal ein paar GB Ram spendieren. Ich nehme zumindest an, dass Du einen V-Server oder Server hast, denn sonst ist bei obiger Fehlermeldung nichts zu machen, nur bei "memory exhausted" kann man versuchen das memory limit zu erhöhen. Bei "out of memory" ist kein Ram mehr da.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • ...
    Ich muss jetzt auf dem 2. Server noch den Speicher erhöhen, da folgend eZeile nun ausgegeben wird:

    atal error: Out of memory (allocated 133955584) (tried to allocate 20 bytes) in /homepages/3/d434234131/htdocs/meineInstallation/wp-includes/wp-db.php on line 1941

    Wobei 80 MB eigentlich locker reichen sollten...

    Die Grenze liegt bei 128 MB und da mir das wie 1&1 aussieht, wirst Du auch den Speicher nicht so einfach erhöhen können, befürchte ich. Du solltest sehen, wo Du den Speicherverbrauch reduzieren kannst.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Falls es dich interessiert.

    Hilfe leiste ich nur im Forum. Außerhalb des Forums ist es Arbeit :-)

    Wenn der Testserver muckt, dann ist er eben nicht identisch mit dem Livesystem. Schaffe zuerst gleiche Voraussetzungen. Alles andere ist sinnfrei.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!