Cannot send session cache limiter headers already sent как исправить
Перейти к содержимому

Cannot send session cache limiter headers already sent как исправить

  • автор:

Как исправить ошибку «Cannot send session cache limiter»?

Собсна при загрузке главной страницы сразу выскакивает данная ошибка :

Warning: session_start() [function.session-start]: Cannot send session cache limiter — headers already sent (output started at C:\OpenServer\domains\localhost\phpMyAdmin\HunterDiscoBar\index.php:1) in C:\OpenServer\domains\localhost\phpMyAdmin\HunterDiscoBar\index.php on line 2

  • Вопрос задан более трёх лет назад
  • 6618 просмотров

Комментировать
Решения вопроса 1

headers already sent. Что переводится, как «Заголовки уже отправлены». Для запуска сессии, php выставляет куку на клиенте. Cookies устанавливаются с помощью отправки соответствующих заголовков. И, если заголовки были отправлены ранее, то возникает такая ошибка. Для того, чтобы решить эту «проблему», необходимо проверить, есть ли где-то в коде (до этого места) вывод данных. Это может быть echo, или же вообще, пустая строка перед открывающимся тэгом

Проблема с сессией: Cannot send session cache limiter — headers already sent

Эти файлы подключаются к каждой странице сайта. А страницы разбиты по категориям в которых нет ошибки сессии:

  • index.php
  • shopingcart.php
  • contact.php

И файлы в которых ошибка возникает:

  • faqs.php
  • productdetail.php
  • checkout.php

Как можно побороть ошибку данную?

Warning: session_start() [function.session-start]: Cannot send session cache limiter — headers already sent (output started at S:\home\localhost\www\web_shop\faqs.php:1) in S:\home\localhost\www\web_shop\config.php on line 2

Отслеживать
2,969 3 3 золотых знака 15 15 серебряных знаков 30 30 бронзовых знаков
задан 26 авг 2013 в 9:14
IntegralAL IntegralAL
2,699 5 5 золотых знаков 60 60 серебряных знаков 105 105 бронзовых знаков

Файлы которые как вы указали содержат ошибку — уберите из них session_start() т.к. он уже был вызван в конфиге

26 авг 2013 в 9:20

дело в том, что в них нету session_start(). Есть только один session_start() в конфиге, и каждый ошибочный файл ругается на него, так все подключают конфиг на первой строчке кода.

26 авг 2013 в 9:24

я и так подключаю конфиг самой первой строкой в файлах, только в одних нет ошибки, а в других она возникает. Меня смущает избирательность ошибки, с чем она связанна?

26 авг 2013 в 9:26
Файлы в которых возникает ошибка сохраните в кодировке UTF8 без BOM, если конечно используете UTF
26 авг 2013 в 9:28
Ответом ниже верный ответ.
26 авг 2013 в 9:30

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Ошибка говорит о том, что функция не может установить заголовки ответа HTTP, так как уже был вывод данных в тело ответа.
Функция header (которую в свою очередь вызывает session_start) может использоваться только до вывода тела ответа.
Чтобы исправить ошибку разместите подключение config.php в самом начале текста файла.
Если это не помогло или так и есть уже, то пересохраните файл без BOM.

Отслеживать
ответ дан 26 авг 2013 в 9:21
17.9k 3 3 золотых знака 46 46 серебряных знаков 86 86 бронзовых знаков

Согласен, неверно прочел ошибку.. про бом поясните человеку, я с трудом понял о чем вы(символы до <. ) если я верно понял.

26 авг 2013 в 9:29
26 авг 2013 в 9:34

Конфиг у меня подключается первым к файлу header.php, а тот в свою очередь стоит на первой строке всех файлов. И все файлы у меня и так без BOM. Причем тут BOM не пойму?

26 авг 2013 в 9:39

как я и думал.. все верно вам сказали, скрин 88.198.134.41/faqs.jpg Ошибку красным обвел, исправляйте, точнее удаляйте лишний символ и радуйтесь рабочим скриптам

[Решено] Ошибка: Cannot send session cookie — headers already sent by. — Joomla 1.5: Установка и обновление

Сегодня важный день для проекта Joomla! Мы отмечаем два года напряженной работы наших добровольцев, решивших выпускать новую основную версию каждые два года. После большого количества обсуждений, спринтов по написанию кода и устранения ошибок этот день наконец настал и мы с гордостью объявляем о выпуске новой мажорной ( major ) версии Joomla 5.0, наряду с Joomla 4.4.

В Joomla Extensions Directory появился тег совместимости с Joomla 5.

Joomla-разработчики, проверившие совместимость своих расширений с Joomla 5 могут поставить галочку ��

JoomlaDay Spain, Madrid.

В Мадриде, Испания 5-6 октября 2023 года проходит Joomla Day — конференция, посвящённая как новичкам, так и профессионалам, работающим с Joomla.

Cannot send session cache limiter — headers already sent

Если коротко, то сессию надо стартовать до любого вывода в скрипте. Если это не помогает — проверить, чтобы файл был сохранён в кодировке «utf-8 без BOM».

Подробнее см. по ссылке выше

Не нашли ответ на свой вопрос?

Смотри также

  • Сессии. Подробное описание работы и объяснение механизма.
  • Cannot send session cache limiter — headers already sent
Последние комментарии
  • 16.10.23 21:38 Владимир
    Как работать с PDO? Полное руководство.:
    Уважаемый автор, подскажите, а как получить результат, если мы выполнили UPDATE , скажем сколько.
    read more
  • 04.10.23 11:36 вадим исламов
    Как работать с PDO? Полное руководство.:
    здравствуйте! спасибо за ваши заботы о наших интеллектах!)
    опытным путём изучаю php.
    прошу.
    read more
  • 09.08.23 16:51 c0ntr_all
    Как работать с PDO? Полное руководство.:
    Автор, ты документацию читал сам? В документации PHP по PDO специально в рамочку обвели «Если.
    read more
  • 07.08.23 23:57 toorr2p
    Как работать с PDO? Полное руководство.:
    Автор, так а чего же не написать пример как же все таки правильно использовать try catch раз уж.
    read more
  • 16.07.23 02:35 Андрей
    Самые основы. Как работает PHP.:
    Мне выдает ошибку при отправке формы при помощи PHPMailer-404(not allowed)
    Я так понимаю что не.
    read more

Написать комментарий

Пожалуйста, воздержитесь от посылки спама.
Сообщения, содержащие гиперссылки, проходят премодерацию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *