Страницы

Поиск по вопросам

понедельник, 25 ноября 2019 г.

Cannot modify header information - headers already sent by


Не сохраняются куки. Что не так.

Ошибка 


  Warning: Cannot modify header information - headers already sent by (output started at blocksSite/main_noauth.php:4) in blocksSite/main_noauth.php on line 58

    


Ответы

Ответ 1



Общение WEB-сервера с клиентом в данном случае происходит по протоколу HTTP. HTT включает в себя HTTP заголовки и тело ответа. При этом заголовки обязательно следуют перед телом ответа – того требует стандарт. PHP же в свою очередь в процессе работы должен сформировать и заголовки и тело ответа Даже если Вы не задаете ни одного заголовка, то PHP сам устанавливает все необходимы заголовки для ответа клиенту. При этом данные, которые необходимо отдать клиенту он записывает сначала в буфер, но если он начал писать в буфер тело ответа, то заголовки он уже никак не может туда записать и встретив попытку записи заголовков ответа уже после того, как начало формироваться тело ответа PHP выдает ошибку: Warning: Cannot modify header information - headers already sent by (output started at ... Это может быть следствием следующих причин: Перед установкой заголовков был вывод тела ответа. При этом вывод может быть осуществлен как средствами шаблонизатора, так и через функции echo или print // вывод средствами шаблонизатора "; // вывод средствами оператора header( "Content-Type: text/html; charset=utf-8" ); Вы можете банально ошибиться и поставить перед [пробел][перенос строки] Файл index.php "; header("Content-Type: text/html; charset=utf-8"); ob_end_flush(); Можно настройками php.ini принудить PHP сперва наполнять буфер данными до определенног размера, и лишь потом отдавать содержимое буфера клиенту, но в этом случае превысив размер буфера Вы увидите Выше описываемую ошибку. output_buffering = 14096

Ответ 2



у вас что-то эхнуто перед отправкой хедера ...main_noauth.php on line 58.... Посмотрите в строчке 58

Ответ 3



В php.ini output_buffering = On И всё работает

Комментариев нет:

Отправить комментарий