Warning: Cannot modify header information

Admin Vesta, WordPress, Wordpress Errors

Ошибка возникающая при создании нового поста в WordPress, во время отправки её на публикацию.

Если в файле конфигураций wp-config.php включено показ ошибок:

define('WP_DEBUG', true);

Тогда будет показана ошибка, в ином случае страница при сохранении поста (записи) будет пустой.

Ошибка выглядит так:

Warning: Cannot modify header information — headers already sent by (output started at /wp-includes/author-template.php:73) in /wp-admin/post.php on line 197

Warning: Cannot modify header information — headers already sent by (output started at /wp-includes/author-template.php:73) in /wp-includes/pluggable.php on line 1210

Мне известны следующие случаи этой ошибки в WordPress.

1. Причина в плагине

Один из плагинов устарел и вызывает ошибку. Так, например, у меня не так давно вызывал ошибку плагин Email Subscribers & Newsletters. Когда автор обновил свой плагин и ошибка исчезла.

2. Файл wp-config

Если в конце файла настроек WordPress (wp-config.php) имеется лишняя строка. Одна строка допустима, две нет. Также ошибка может вызываться, если добавлены какие-то свои данные в конец этого файла. Там где написано, «дальше не редактируем», не следует ничего добавлять:

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

require get_template_directory() . '/file.php';

Ошибка точно возникнет, если в таком файле, в самом конце его содержимого будет две лишние строки после закрывающего тега php:

?>

Например, при таком окончании файла будет вызываться ошибка, при сохранении записи:

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

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

Закрывающий тег PHP-блока в конце файла не является обязательным, и в некоторых случаях его опускание довольно полезно, например, при использовании include или require, так, что нежелательные пробелы не останутся в конце файла и вы все еще сможете добавить http-заголовки после подключения к ответу сервера. Это также удобно при использовании буферизации вывода, где также нежелательно иметь пробелы в конце частей ответа, сгенерированного подключаемыми файлами.

Довольно часто возникает ошибка, когда при чтении кода файловыми функциями, вроде include или require, в этом коде попадаются пробелы или пустые строки, которые выводятся до вызова header(). Те же проблемы могут возникать и при использовании одиночного PHP/HTML файла.

upstream sent too big header while reading response header

Похожая ошибка

2019/09/18 23:19:36 [error] 1600#1600: *4691 upstream sent too big header while reading response header from upstream, client: 111.111.111.111, server: , request: «POST /wp-admin/admin-ajax.php HTTP/1.1», upstream: «https://111.111.111.111:8423/wp-admin/admin-ajax.php», host: «», referrer: «/wp-admin/post.php»

На странице наблюдаем ошибку 500 (Internal Server Error)

Если включить дебаг, то на странице редактирования и на всех других будут ошибки, которые приводят к таким последствиям.

Например, это могут делать устарелые функции:

Deprecated: Array and string offset access syntax with curly braces is deprecated in /wp-includes/script-loader.php on line 757

Deprecated: Array and string offset access syntax with curly braces is deprecated in /wp-includes/script-loader.php on line 758

Попробуйте поменять версию PHP или убрать отжившие функции в новой версии.

English Query (запросы по теме на английском языке)

Warning: Cannot modify header information - headers already

WordPress Warning when create a post

Publish a new article problems

Error when created a new post

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Warning: Cannot modify header information"