Zum Inhalt springen

PHP-Datei erzeugt "headers already sent"

Erstellt am 23. Dezember 2009 · 2 Antworten · letzte Antwort am 29. Dezember 2009

Tags: Frage

Hans1 ·

Hallo,

ich habe mir eine kleine "Test-Extension" geschrieben, da ich im Moment ein Typo3-Buch durcharbeite.

Nun ist es so, wenn ich nicht alle Klassen (sind nur 2, von daher geht es noch) in die class.tx_feedParser_pi.php kopiere, dann bekomme ich einen "headers already sent"-Fehler und das obwohl ich die eingebundene Datei noch nicht mal verwende (also keine Instanz der Klasse erzeuge, o.ä.).

So sieht das im Groben aus:

class.tx_feedParser_pi.php

<?php
require_once(...); // <- das stand so schon drin
require_once('FeedParser.php');

class ... {
...
}
?>

FeedParser.php

<?php
require_once('Feed.php');

class FeedParser {
...
}
?>

Und die FeedParser ist eben auch eine PHP-Datei mit der Entity.

Wenn ich, wie gesagt, alle Klassen in die selbe Datei kopiere, dann gibt es keine Probleme.

Hat jemand eine Idee, was ich machen muss, damit der Fehler auch bei mehreren Dateien nicht mehr kommt? Bei größeren Extensions kann es ja nicht sein, dass alles in einer Datei stehen muss?!?!

Vielen Dank und frohe Weihnachten,

Hansi

alphaonline ·

Hallo Hans1,

der "headers already sent"-Fehler kommt auch, wenn am Anfang einer php-Datei ein Leerzeichen / Zeilenumbruch steht. Schon mal daraufhin getestet ??

LG alphaonline[/b]

Hans1 ·

Hallo alphaonline,

danke für deine Antwort! Das habe ich gleich mal probiert. Es gab jedoch keine Leerzeichen vor dem <?php.

Ich habe dann auf der Shell direkt mal die PHP-Datei bearbeitet und die <?php ?> entfernt und darin neu eingetragen. Plötzlich ging es.

Vielleicht hat sich da ein böses Windows-Zeichen eingeschlichen...

Vielen Dank und viele Grüße,

Hansi