Ученик (85)

Возможно ли выслать заголовки ПОСЛЕ того, как отправлен первый байт содержимого?

Имеются в виду HTTP-заголовки, посылаемые командою header() в PHP. Можно ли отправить их после того, как браузеру отправлен первый байт содержимого? Спасибо.
Думаю, что это хостинг кривой просто, на нормальном хостинге было бы ОК...
Дополнен 6 лет назад
Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
После регистрации Вы также сможете получать до 175 руб за каждую тысячу уникальных поисковых переходов на Ваш вопрос или ответ Подробнее
ЛУЧШИЙ ОТВЕТ
Советник (3682)
Вообще, это большой моветон - отправлять заголовки после первого байта содержимого. Но если у Вас пишет что-то вроде Cannot modify header information – headers already sent by ..., и при этом Вы не имеете возможности найти все команды header() и поставить их ДО вывода содержимого, есть такая настройка в PHP.INI:


output_buffering 4096


Измените значение на большее. Если Вы на shared-хостинге, где прямой доступ к глобальным настройкам запрещен, пропишите в .htaccess:


php_value output_buffering 4096


В любом случае, такой подход может сильно затормозить выполнение скриптов. Гораздо лучше высылать все заголовки до содержимого.

И это не прихоть хостинга. Это требование протокола HTTP. Он так устроен - сначала заголовки, потом остальное ))