Как исправить ошибку «Невозможно изменить информацию заголовка — заголовки уже отправлены»

Опубликовано: 2021-11-26

Большинство сообщений об ошибках WordPress дают вам представление о том, что вызывает проблемы на вашем сайте. Ошибка «Предупреждение: невозможно изменить информацию заголовка — заголовки уже отправлены» не является исключением. Если файл PHP не может быть выполнен из-за проблемы в его коде, вы увидите это сообщение.

Существует несколько возможных причин ошибки «Невозможно изменить информацию заголовка». К счастью, в самом сообщении будет указано, какой файл вызывает проблему. Он даже указывает на строку кода, которая содержит проблему.

В этой статье мы собираемся обсудить эту ошибку и ее причины. Затем мы рассмотрим два способа решения проблемы. Давай приступим к работе!

Что вызывает ошибку «Невозможно изменить информацию заголовка — заголовки уже отправлены»

Как мы упоминали ранее, вы столкнетесь с этой ошибкой, когда один из файлов .php вашего сайта не может быть выполнен. WordPress использует файлы .php, такие как wp-config.php и functions.php, для своей основной функциональности.

Если есть проблема в одном из файлов .php , который должен загрузить ваш веб-сайт, вы увидите сообщение об ошибке, которое выглядит следующим образом:

 Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-config.php:#) in /home/public_html/wp-includes/file-example.php on line 33

К счастью, ошибка «Невозможно изменить информацию заголовка» предоставляет много информации, которая делает устранение неполадок относительно простым. Сообщение укажет вам на два файла — первый содержит проблему, которая препятствует выполнению второго.

В конце сообщения об ошибке вы увидите раздел с надписью «строка XX». Он показывает расположение конкретного кода, вызывающего проблему.

Обычно проблему в PHP-коде довольно легко исправить. Некоторые распространенные причины, которые могут вызвать сообщение об ошибке, включают:

  • Пробелы перед сегментом <?php кода или после закрывающего тега ?>
  • Блок HTML перед функцией заголовка PHP
  • операторы print или echo , добавленные перед функцией заголовка PHP
  • Проблемы с кодом плагина

Исправление этих типов ошибок требует, чтобы вы хотя бы немного разбирались в изменении PHP-кода. Вам не нужно будет добавлять какой-либо код самостоятельно.

Тем не менее, вам может понадобиться дополнительная помощь в определении проблемы. Это особенно верно, если проблема не связана с пробелами или операторами перед функцией заголовка PHP.

Серебряная подкладка для просмотра этого сообщения об ошибке — вы уже знаете, какой файл вызывает проблему, и строку кода с проблемой! Узнайте, как это исправить, здесь Нажмите, чтобы твитнуть

Как устранить ошибку «Предупреждение: невозможно изменить информацию заголовка — заголовки уже отправлены» (методы 2)

Существует два подхода к устранению ошибки «Невозможно изменить информацию заголовка — заголовки уже отправлены». Первый метод не требует выхода из панели управления WordPress.

Однако вторая стратегия использует FTP/SFTP, если вы не можете получить доступ к панели инструментов или использовать WordPress.

Начнем с первого метода устранения неполадок.

1. Исправьте ошибку с помощью редактора плагинов/тем или замените плагин

Первое, что вам нужно сделать, когда вы столкнетесь с ошибкой «Невозможно изменить информацию заголовка — заголовки уже отправлены», — это открыть файл, который вызывает проблему. Затем найдите строку, указанную в сообщении.

Например, если вы видите ошибку следующего содержания, это означает, что вам нужно заглянуть внутрь файла functions.php вашей темы:

 Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-content/themes/twentytwentyone/functions.php:#) in /home/public_html/wp-includes/file-example.php on line 1

В этом случае вы можете добраться до источника проблемы с помощью редактора тем WordPress. Чтобы получить к нему доступ, перейдите в « Внешний вид » > «Редактор тем».

Когда вы войдете, используйте меню справа, чтобы выбрать файл, к которому вам нужно получить доступ.

Функции темы (functions.php) в редакторе темы
Файл функций темы (functions.php).

Если вы внимательно посмотрите, то заметите несколько пробелов перед <?php . Само сообщение об ошибке указывает на строку номер один. Следовательно, это говорит вам о том, что пробелы являются источником проблемы.

В этом примере все, что вам нужно сделать, это удалить пробелы и нажать « Обновить файл» . Теперь попробуйте перезагрузить свой сайт, и ошибка должна исчезнуть.

Вы можете применить тот же процесс, используя редактор плагинов WordPress ( Плагины > Редактор плагинов ). Этот метод применим, если сообщение об ошибке указывает на неисправный файл плагина.

Кроме того, вы можете столкнуться с ошибкой, указывающей на один из файлов в каталоге плагинов WordPress. В этом случае вы можете удалить и переустановить этот плагин. В большинстве случаев это решит проблему за вас.

Однако имейте в виду, что вы можете потерять конфигурацию этого плагина, в зависимости от того, какой инструмент вы используете. Таким образом, вам может потребоваться снова настроить надстройку.

2. Отредактируйте файл проблемы через FTP/SFTP.

В некоторых случаях источник ошибки «Невозможно изменить информацию заголовка — заголовки уже отправлены» не будет находиться в файле, к которому вы можете получить доступ с помощью темы WordPress или редакторов плагинов. Кроме того, вы можете использовать сайт, отличный от WordPress.

В этих случаях лучше всего получить доступ к проблемному файлу с помощью FTP/SFTP. Для этого вам потребуется использовать клиент FTP или SFTP, такой как платформа FileZilla.

Вам также потребуется доступ к учетным данным FTP/SFTP вашего веб-сайта. В большинстве случаев вы сможете найти их на панели хостинга.

Нужен невероятно быстрый, надежный и полностью безопасный хостинг для вашего сайта электронной коммерции? Kinsta предоставляет все это и круглосуточную поддержку мирового уровня от экспертов WooCommerce. Ознакомьтесь с нашими планами

Если вы используете Kinsta, вы можете получить доступ к MyKinsta, выбрать свой веб-сайт в разделе « Сайты » и щелкнуть вкладку « Информация ».

SFTP/SSH в MyKinsta
SFTP/SSH в MyKinsta.

Получив учетные данные, используйте клиент FTP или SFTP для подключения к вашему веб-сайту. Вам нужно будет найти корневую папку сайта. Обычно его имя должно быть root, public_html , public или именем вашего собственного сайта.

Вот краткий обзор того, как выглядит внутренняя часть корневой папки WordPress.

Посмотрите на корневую папку WordPress
Корневая папка WordPress.

Идите вперед и найдите файл, на который указывает ошибка «Невозможно изменить информацию заголовка — заголовки уже отправлены». Например, если проблема в public/wp-config.php , щелкните файл правой кнопкой мыши и выберите параметр « Просмотр/редактирование ».

Найдите файл wp.config в корневой папке.
Нажмите на файл wp.config.

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

Перейдите к строке сообщения об ошибке
Найдите строку с сообщением об ошибке.

Если вы не можете обнаружить ошибку, возможно, вам придется проконсультироваться с кем-то, кто имеет опыт работы с файлами PHP. Однако предположим, что вы имеете дело с пробелами или оператором перед заголовком PHP. В этом случае вы должны быть в состоянии решить проблему самостоятельно.

Когда вы закончите, сохраните изменения в файле и закройте клиент FTP/SFTP. Попробуйте повторно зайти на свой сайт, и ошибка должна исчезнуть.

Видите это сообщение об ошибке? В этом посте есть 2 гарантированных способа исправить это. Нажмите, чтобы твитнуть

Резюме

Ошибка «Предупреждение: невозможно изменить информацию заголовка — заголовки уже отправлены» может быть пугающей, поскольку выводит длинное сообщение. Однако это подробное сообщение об ошибке делает устранение этой ошибки относительно простым. В отличие от других проблем, эта достаточно вежливо скажет вам, какой файл вызывает ее и какую строку кода вам нужно изучить.

В зависимости от файла, вызвавшего ошибку, существует два способа устранения неполадок:

  1. Исправьте ошибку с помощью редактора плагинов/тем или замените плагин.
  2. Отредактируйте проблемный файл через FTP/SFTP-клиент.

Найти источник этой ошибки просто. Однако исправление может стать проблемой, если вы не знакомы с PHP.

Все еще есть проблемы с исправлением этой ошибки? Пожалуйста, поделитесь своим опытом с нашим сообществом в комментариях ниже!