Baba: headers_sebt(); - unterschiedl. Verhalten lokal und online

Beitrag lesen

Folgendes Minimalbeispiel:

<?php  
header("content-type:text/html; charset=utf-8");  
flush();  
var_dump(headers_list());  
var_dump(headers_sent());  
?>  

Lokal gibt das schön:

array  
  0 => string 'X-Powered-By: PHP/5.3.5' (length=23)  
  1 => string 'content-type:text/html; charset=utf-8' (length=37)  
  
boolean true  

und online

array(2) {  
  [0]=>  
  string(24) "X-Powered-By: PHP/5.3.10"  
  [1]=>  
  string(37) "content-type:text/html; charset=utf-8"  
}  
bool(false)

Die Frage bezieht sich auf das boolean von headers_sent().  Vielleicht habe ich das einfach nicht verstanden. Ich benutzte diese Funktion in meiner shutdownfunktion. Diese macht sowas wie: "wenn der Header noch nicht raus ist, drucke die Fehlermeldung mit in die Ausgabe. Ansonsten schreibe Sie nur in die Logdatei". Leider geht sie immer davon aus, dass der Header noch nicht gesendet wurde.

Übrigens: ohne flush() verhält sich auch das lokale Beispiel so.

Bitte kann mich jemand aufklären.

Cheers,
Baba