Hakuna matata!
Du machst den selben Fehler wie ralphi.
Die Aufgabe lautete, möglichst SOFORT eine Ausgabe zu veranlassen. Ob da noch andere Puffer aktiv waren, hat mich in dem Moment nicht interessiert.
Na offensichtlich doch, denn du schließt sie immerhin. Stattdessen wäre eine Fehlermeldung wohl angebracht:
if ( ob_get_level() > 0 ) {
trigger_error('Es ist keine Echtzeit-Ausgabe möglich, weil Ausgabebuffer aktiv sind.', E_USER_WARNING );
}
Ich wollte Maja damit nur darauf aufmerksam machen, dass die Puffer geschachtelt sind!
Du hattest sicher eine gute Absicht dabei, aber die Art, auf die du das vermittelt hast, ist eben unglücklich ausgefallen. Anfänger neigen nunmal dazu fremden Code einfach zu kopieren, ohne ihn in jedem Dateil zu hinterfragen. Aber diese while-Schleife ist eben ganz miserabler Code, der es niemals in ein Produktivsystem schaffen sollte.
Bei Eingriffen in ein System muss man immer mit Nebenwirkugen rechnen ;-P
Wenn diese while-Schleife tatsächlich mal ausgeführt wird, geht mit Sicherheit was kaputt. Das ist keine Nebenwirkung, das ist die Auswirkung. Wenn man einen Elefant in einen Porzellanladen stellt, geht auch mit Sicherheit was kaputt.
“All right, then, I'll go to hell.” – Huck Finn