У меня есть скрипт, который выводит данные ячейки mysql. Ячейка «content» содержит текстовый вывод, который имеет разную длину.
Когда содержимое «контентной» ячейки мало (скажем, несколько строк текста), все работает нормально. Однако, когда выход достигает нескольких абзацев или более, я получаю сообщение «уже отправленные».
Это зависит от длины вывода? Где я могу узнать больше об этом? Ответы, которые я нашел на SO, не упоминают об этой зависимости длины вывода.
44: echo " 45: <p>".$article['content']."</p> 46: ";
Если размер вывода «content» большой, сценарий создает следующую ошибку:
PHP Предупреждение: невозможно изменить информацию заголовка – заголовки, уже отправленные (вывод запущен в /home/mantas/htdocs/asm/article.php:46) в /home/mantas/htdocs/asm/include/comments_class.php в строке 56
PHP будет буферизовать вывод, если вы этого хотите. Вы можете управлять этим программным ob_start()
с помощью ob_start()
и т. Д. Однако есть еще одна опция для установки буферизации вывода в php.ini.
Установка output_buffering=on
включает его, а установка output_buffering=4096
устанавливает ограничение на размер буфера. phpinfo()
должен сообщить вам, включено ли это, и каков размер буфера.
Ссылка PHP здесь
Предупреждающие средства «заголовки уже отправляют», вы изменяете заголовки http где-то в своем коде после отправки вывода клиенту (т. echo
С echo
, пробелами и т. Д.).
Это предупреждение не имеет ничего общего с длиной содержимого.
Существует множество методов, которые изменяют заголовки: