Перевод этой страницы:
  • ru

PHP - Cannot modify header information - headers already sent

Схема работы протокола HTTP такова: сначала отправляются служебные заголовки (код ответа, cookie, сессия, срок кеширования и так далее), затем текстовый контент. После того как начался вывод контента, заголовки дополнить или изменить невозможно.

Ошибка "Cannot modify header information - headers already sent by script.php:21" означает что в скрипте script.php в строке №21 начался вывод контента, и вызов фунции header невозможен.  \\

Чаще всего ошибка возникает после правки скриптов в неподходящих редакторах (Блокнот, и т.д.)

В качестве решения:

- Используя специализированный редактор, пересохраните файл (что указан в тексте ошибки) в кодировке UTF-8 без BOM (например Notepad++).

- Проверьте, нет ли пустых строк или пробелов перед первым тегом <?
- Отключите вывод ошибок и предупреждений (пропишите display_errors = Off в php.ini или .user.ini).

Править страницу
Наверх