could not start session because headers have already been sent

9k
Алексей,
could not start session because headers have already been sent

Дисклеймер: статья старая, информация, скорее всего, устарела, используйте на свой страх и риск.

could not start session because headers have already been sent

Ошибка чаще всего возникает либо из-за лишних символов (например пробел перед <?php), либо если файл сохранен в кодировке UTF8 с BOM.

Ошибка чаще всего возникает либо из-за лишних символов (например пробел перед <?php), либо если файл сохранен в кодировке UTF8 с BOM.

Для исправления, соответственно, нужно убрать лишние символы и поменять кодировку на UTF8 без BOM.

Есть вопрос или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 9 июля 2021 | Обновлено 19 октября 2021
ошибка, баг, разработчику
Поделиться
Похожие статьи
Будьте внимательны при проверках $var == 'Y'
В Битрикс проверки на строковую "Y" очень популярны, т.к. сами разработчики ядра использую...
Читать дальше » 0
Вы используете версию MariaDB 5.5.63-MariaDB, продукту для работы требуется версия не ниже 10.0.5.
Решение ошибки "Вы используете версию MariaDB 5.5.63-MariaDB, продукту для работы требуется вер...
Читать дальше » 0
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
25 дек 2024
Такая ошибка возникает при выходе из админ-панели. При изменении/создании элементов инфоблоков показывается просто белый экран. Файлы /bitrix/header.php и /bitrix/footer.php проверил, init.php в /bitrix/ и /local/ тоже, dbconn.php тоже проверил [RuntimeException] Could not start session because headers have already been sent. "/home/m/mintschaman/mediamint-super-new/public_html/bitrix/modules/security/classes/general/antivirus.php":152. (0) /home/m/mintschaman/mediamint-super-new/public_html/bitrix/modules/main/lib/session/session.php:143 #0: Bitrix\Main\Session\Session->start() /home/m/mintschaman/mediamint-super-new/public_html/bitrix/modules/main/lib/session/session.php:282 #1: Bitrix\Main\Session\Session->regenerateId() /home/m/mintschaman/mediamint-super-new/public_html/bitrix/modules/main/lib/session/kernelsessionproxy.php:52 #2: Bitrix\Main\Session\KernelSessionProxy->regenerateId() /home/m/mintschaman/mediamint-super-new/public_html/bitrix/modules/main/lib/session/compositesessionmanager.php:73 #3: Bitrix\Main\Session\CompositeSessionManager->regenerateId() /home/m/mintschaman/mediamint-super-new/public_html/bitrix/modules/main/classes/general/user.php:3296 #4: CAllUser->Logout() /home/m/mintschaman/mediamint-super-new/public_html/bitrix/modules/main/include.php:290 #5: require_once(string) /home/m/mintschaman/mediamint-super-new/public_html/bitrix/modules/main/include/prolog_admin_before.php:39 #6: require_once(string) /home/m/mintschaman/mediamint-super-new/public_html/bitrix/modules/main/interface/desktop.php:10 #7: require(string) /home/m/mintschaman/mediamint-super-new/public_html/bitrix/admin/index.php:2 ----------
Алексей
25 дек 2024
Леонид, поищите session_start() где-нибудь в php_interface, например. session_start, впринципе, не должен вызываться вне ядра битрикс.
Алексей
25 дек 2024
Леонид, хотя не, ошибка ж другая. При вызове session_start, он так и пишет, что сессия была запущена раньше ядра. Т.ч. да, ищите лишние символы или BOM
26 дек 2024
Алексей, переискал во всех файлах, в итоге просто восстановил из резервной копии на хостинге. Спасибо вам за оперативный ответ!)
5 янв 2024
[RuntimeException] Could not start session because headers have already been sent. "/home/c/ch26427/public_html/consent/index.php":9. (0) /home/c/ch26427/public_html/bitrix/modules/main/lib/session/session.php:141 #0: Bitrix\Main\Session\Session->start() /home/c/ch26427/public_html/bitrix/modules/main/lib/session/kernelsessionproxy.php:42 #1: Bitrix\Main\Session\KernelSessionProxy->start() /home/c/ch26427/public_html/bitrix/modules/main/include.php:169 #2: require_once(string) /home/c/ch26427/public_html/bitrix/modules/main/include/prolog_before.php:14 #3: require_once(string) /home/c/ch26427/public_html/bitrix/modules/main/include/prolog.php:10 #4: require_once(string) /home/c/ch26427/public_html/bitrix/header.php:1 #5: require(string) /home/c/ch26427/public_html/consent/index.php:11 ----------
Алексей
9 янв 2024
Boris, ошибка как в статье. Если возникает только в разделе /consent/, значит ищите проблему в index.php раздела.
22 дек 2023
[RuntimeException] Could not start session by PHP. (0) /home/bitrix/www/bitrix/modules/main/lib/session/session.php:157 #0: Bitrix\Main\Session\Session->start /home/bitrix/www/bitrix/modules/main/lib/session/session.php:363 #1: Bitrix\Main\Session\Session->processLazyStart /home/bitrix/www/bitrix/modules/main/lib/session/arrayaccesswithreferences.php:18 #2: Bitrix\Main\Session\Session->has /home/bitrix/www/bitrix/modules/main/classes/general/main.php:370 #3: CAllMain->NeedCAPTHAForLogin /home/bitrix/www/bitrix/components/bitrix/system.auth.authorize/component.php:146 #4: include(string) /home/bitrix/www/bitrix/modules/main/classes/general/component.php:615 #5: CBitrixComponent->__includeComponent /home/bitrix/www/bitrix/modules/main/classes/general/component.php:692 #6: CBitrixComponent->includeComponent /home/bitrix/www/bitrix/modules/main/classes/general/main.php:1072 #7: CAllMain->IncludeComponent /home/bitrix/www/bitrix/modules/main/classes/general/main.php:302 #8: CAllMain->AuthForm /home/bitrix/www/bitrix/modules/main/include.php:590 #9: require_once(string) /home/bitrix/www/bitrix/modules/main/include/prolog_before.php:19 #10: require_once(string) /home/bitrix/www/index.php:8 ---------- Добрый день! Битрикс обновился и такая картина((
Алексей
22 дек 2023
Антон, добрый. Посмотрите ниже комментарий, у Руслана аналогичная проблема решилась изменением настроек хранения сессии.
17 июл 2023
Добрый, просмотрел рекомендации проверил все файлы. но все равно вопрос - куда смотреть ? [RuntimeException] Could not start session by PHP. (0) /home/bitrix/www/bitrix/modules/main/lib/session/session.php:164 #0: Bitrix\Main\Session\Session->start /home/bitrix/www/bitrix/modules/main/lib/session/kernelsessionproxy.php:47 #1: Bitrix\Main\Session\KernelSessionProxy->start /home/bitrix/www/bitrix/modules/main/include.php:159 #2: require_once(string) /home/bitrix/www/bitrix/modules/main/include/prolog_before.php:14 #3: require_once(string) /home/bitrix/www/index.php:8
Алексей
17 июл 2023
Руслан, как вариант, попробуйте создать пустой php файл и вызвите в нём session_start(), проверьте будет ли работать сессия без ядра битрикс. Если будет значит проблема где-то в ядре (или в коде подключаемом при инициализации страницы (init.php и т.п.)), если нет, то проверьте настройки сервера.
17 июл 2023
Алексей, создал файл - обратился к нему - он выдает просто белое окно - это значит сессию открывает, проблему искать в init.php .... предыстория: восстановления из бекапа на другую ВМ
Алексей
17 июл 2023
Руслан, а посмотрите .settings.php, где указано хранение сессий? Попробуйте изменить на файлы/БД
18 июл 2023
Алексей, Спасибо .settings.php - поправил хранение сессии, сайт поднялся.
9 июн 2023
привет ! а как быть в этом случае ? [RuntimeException] Could not start session because headers have already been sent. "/var/www/u2059590/data/www/test1c**************/bitrix/admin/1c_exchange.php":5. (0) /var/www/u2059590/data/www/test1c**************/bitrix/modules/main/lib/session/session.php:151 #0: Bitrix\Main\Session\Session->start() /var/www/u2059590/data/www/test1c**************/bitrix/modules/main/lib/session/kernelsessionproxy.php:47 #1: Bitrix\Main\Session\KernelSessionProxy->start() /var/www/u2059590/data/www/test1c**************/bitrix/modules/main/include.php:180 #2: require_once(string) /var/www/u2059590/data/www/test1c**************/bitrix/modules/main/include/prolog_before.php:19 #3: require(string) /var/www/u2059590/data/www/test1c**************/bitrix/modules/sale/admin/1c_exchange.php:25 #4: require_once(string) /var/www/u2059590/data/www/test1c**************/bitrix/admin/1c_exchange.php:15 ----------
Алексей
28 июн 2023
Антон, привет, так это аналогичная ошибка, ищите лишние символы или в файлы в кодировке UTF8 с BOM которые подключаются при обмене с 1С (/bitrix/admin/1c_exchange.php)
Ошибка чаще всего возникает либо из-за лишних символов (например пробел перед <?php), либо если файл сохранен в кодировке UTF8 с BOM.