2012-04-09 7 views
0

beginnt ich eine Website, wo ich mitPHP Ausgabepufferung enthält etwas vor Skript

ob_start(); 
... 

eine Ausgabe-Puffer und es funktionierte gut, bis heute habe ich PHP5.3 meine debian von einem älteren aktualisiert auf die neueste php5.3.3-7 + squeeze8
Jetzt habe ich manchmal etwas in den Ausgangspuffer haben, bevor ich es das erste Mal rufen

beantworten sie bitte die Dinge nicht wie

"Kopfzeile muss aufgerufen werden, bevor eine Ausgabe gesendet wird." (ich weiß, ich arbeite viel mit Ausgangspuffer)

, wenn ich einen zusätzlichen ob_get_clean gesetzt(); in der ersten Zeile von meinem Skript, es funktioniert

<? 
ob_get_clean(); 

es scheint, wie PHP ist eine Ausgabe vorher zu schaffen, wenn ich die erste Zeile

<? print_r(ob_get_clean()); ?> 

dann habe ich sehe, dass es eine ist leere Zeichenfolge bereits im Puffer:

""

auf allen anderen Seiten ist es nicht, da ob_get_clean();

enthält

null

+0

dieses vorher gesehen .... Sie kann ich nicht sehen t aber da ist etwas da ... lösche die Datei und erstelle sie neu ... verwende wenn möglich einen anderen Editor oder nur Notepad ... – Baba

+0

zu [Header bereits gesendet] (http: // stackoverflow.com/questions/8028957/Header-bereits-sent-by-php), siehe die Hexeditor Sache und outbut Pufferung Abschnitt. – mario

Antwort

0

ich es gefunden:

i vor keine unsichtbaren Charakter hatte, war es etwas anderes: ich einmal zu viel genannt ob_end_clean():

das war mein Code, innen ein Funktion i nennen:

function print_something(){ 
ob_start(); 

echo some stuff... 

echo ob_get_clean(); 
ob_end_clean(); // this was the bug! 
} 

es scheint, dass Sie Ihr Haupt-Ausgangspuffer löschen kann;)

0

ist es möglich, Sie haben einige "" vor Ihrem <?php irgendwo? oder eine falsche Dateicodierung gibt es in der Regel in irgendeiner Form, überprüfe deine Dateien und schließe Dateien ein.

0

Jetzt manchmal habe ich etwas in dem Pufferausgang, bevor ich es nennen

das erste Mal

es viel einfacher sein wird, wenn Sie uns einige Informationen über die geheimnisvollen Daten geben.

0

vielleicht ein Fall von Stücklistenzeichen? weitere Informationen here

Verwandte Themen