Wenn Eure PHP-Skripte unter Google Chrome nur unvollständige oder auch gar keine Ausgaben erzeugen, liegt dies mittlerweile immer häufiger an den diversen Echtzeitschutzmodulen der Anti-Viren-Softwarepakete.

Diese scheinen erhebliche Probleme zu haben, wenn im Header keine oder eine falsche Content-Length übertragen wird. Sobald man den Echtzeitschutz temporär ausschaltet, tritt das Problem nicht mehr auf.

Dieses Problem tritt – allerdings ohne brauchbare Fehlermeldung – auch in Firefox auf.

Insbesondere wenn Inhalte dynamisch erzeugt werden und Teile bspw. per Include nachgeladen werden, ist jedoch die Content-Length vorher nicht bekannt.

Abhilfe ist relativ einfach, indem  die Ausgabepufferung aktiviert wird.

Startet ggfls. nach dem öffnenden PHP-Tag noch Eure Session und aktiviert dann die Ausgabepufferung mit ob_start(). Am Ende Eures Skripts gebt Ihr dann durch header(“Content-Length: “.ob_get_length()); die korrekte Content-Length an und gebt den Ausgabepuffer mit ob_flush(); aus.