ursus contionabundo: Die "guten" alten Zeiten...

Beitrag lesen

und bei PHP immer dran denken: Sobald das erste Byte vom Body geschrieben wurde, lässt sich an den Headern nichts mehr tun.

Das "immer" galt in den "guten" alten Zeiten. Seit PHP (wohl) Version 5.6 braucht es jedenfalls für PHP, welches nicht als CLI ausgeführt wird, im folgenden Beispiel das ob_start() nicht mehr:

<?php
#ob_start();
echo "Hallo";
header("Content-Type: text/plain");

(auch header("Location: …")) funktioniert.

Grund

Drupal-User können das output-buffering ("ob") aber abschalten…