Sebastian: ob_start() + session_start() = Fehler?

Hi,

ich weiß, der Titel mag etwas merkwürdig klingen, aber ich habe ihn mal so formuliert ;).

Also mein Problem ist folgendes.
Ich habe eine zentrale Templatedatei, in die per URL im verschiedene Inhalte eingebunden werden.
Deshalb verwende ich seit kurzem ob_start(), um alle Ausgaben bis zu dem include-Teil zu puffern und dann noch den Seitentitel zu verändern (<title></title>).

Für eine Seite benötige ich jetzt auch Sessions (Gästebuch), und deshalb starte ich vor der Ausgabe des Puffers noch eine Session (session_start()).
Das komische ist jetzt aber, dass beim ersten Aufruf der Seite ein Teil meines HTML Quelltextes, der vor dem include-Teil steht, ausgegeben wird.
Ruft man die Seite danach nochmal auf, erscheint es nicht mehr.

Ich vermute nun, dass es irgendwie mit der Session zusammenhängt, die ja noch während der Ausgabepuffer aktiv ist gestartet wird.
Kann es dadurch zu Fehlern kommen und wenn ja, wie kann ich das Problem beheben?

  1. echo $begrüßung;

    Das komische ist jetzt aber, dass beim ersten Aufruf der Seite ein Teil meines HTML Quelltextes, der vor dem include-Teil steht, ausgegeben wird.
    Ruft man die Seite danach nochmal auf, erscheint es nicht mehr.

    Ich vermute nun, dass es irgendwie mit der Session zusammenhängt, die ja noch während der Ausgabepuffer aktiv ist gestartet wird.

    Ausgabepuffer und Session-Start beeinflussen sich nicht direkt. Es kann aber sein, dass dein Ausgabepuffer die Ausgabe einer Fehlermeldung verhindert, die möglicherweise beim Session-Start auftritt.

    Mir fällt momentan nur ein, die Fehler in einer Log-Datei auszugeben. Die kann einerseits durch geeignete PHP-Konfiguration aufgesetzt werden oder mittels eines eigenen Errorhandlers. Beides findest du bei den Error Handling and Logging Functions beschrieben.

    echo "$verabschiedung $name";