Ошибка "Cannot add header information - headers already sent" в php
перейти к списку всех вопросов
Один из возможных текстов ошибки выглядит так:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at D:\localhost\site\index.php: 1) in D:\localhost\site\index.php on line 2
Подобные ошибки могут появляться и при вызове функций setcookie(), header().
Как правило, помогает одно из двух решений проблемы. Первое решение связано с тем, что до тега <?php находится текст, которого быть не должно. То есть необходимо переместить php-код выше этого текста или удалить сам текст. Самая миниатюрная ошибка - это не заметить пробел до <?php:
1 2 3 |
<?php session_start(); |
Второе решение: проверить кодировку файлов, которая должна быть utf-8 без BOM. Например, в Notepad++ справа на нижней панели может быть написано UTF8. Но просто utf8 нам не подходит! Поэтому идем в пункт меню Кодировки и выбираем Преобразовать в UTF8 без BOM.