Ошибка страницы входа: Файлы cookie заблокированы из-за неожиданного вывода

17 нояб. 2015 г., 00:50:26
Просмотры: 112K
Голосов: 19

У меня есть сайт WordPress, на котором недавно обнаружилась следующая ошибка на странице входа:

ОШИБКА: Файлы cookie заблокированы из-за неожиданного вывода. Для помощи, пожалуйста, обратитесь к документации или попробуйте форумы поддержки.

Я могу получить доступ к странице входа только через wp-login.php, так как /wp-admin/ показывает пустую белую страницу.

Я искал решение в интернете и пробовал многое без успеха:

  • Удаление ?> и пробелов в конце файла functions.php

  • Проверка отсутствия пробелов в начале и конце файлов functions.php и wp-config.php

  • Открытие wp-config.php и functions.php в Notepad++ и конвертация в UTF-8 (люди рекомендуют 'без BOM', но эта опция доступна только в новейшей версии Notepad++ - предполагаю, что UTF-8 теперь делает это автоматически)

  • Я установил WP_DEBUG в значение true и не получил никаких ошибок в debug.log, кроме 2 ошибок, связанных с неполной загрузкой некоторых файлов. Та конкретная ошибка упоминала nav-menu.php; это подтвердило, что ошибки фиксируются, просто они не связаны с моими проблемами входа

  • Я переименовал каждую папку плагина, добавив _tmp в конце, чтобы исключить возможность проблем с плагинами

  • Я также переименовал папку plugins, чтобы отключить все плагины одновременно

Учитывая все, что я попробовал, и то, что я не получаю никаких PHP-ошибок, что еще можно попробовать?

5
Комментарии

Не могли бы вы поделиться URL вашего сайта? Хотелось бы проверить, обратившись к URL /wp-login.php.

Prasad Nevase Prasad Nevase
2 янв. 2016 г. 17:29:34

Возникает ли та же проблема при свежей установке WordPress в поддомене или поддиректории на том же хостинге?

Alexey Alexey
2 янв. 2016 г. 19:13:26

Вы решили проблему? Если да, то как?

MatoBehr MatoBehr
28 июн. 2016 г. 23:01:26

Вы можете ознакомиться с руководством по исправлению этой ошибки здесь - http://www.truetutorials.com/error-cookies-blocked-due-unexpected-output-wordpress/

User User
19 сент. 2016 г. 17:40:16

возникло из-за "headers already sent", когда includes/plugins выводят текст до того, как это сделает фреймворк

Bash Stack Bash Stack
15 мар. 2021 г. 09:21:03
Все ответы на вопрос 9
4
10

Эта ошибка возникает в файле wp-login.php, когда сервер не может установить куки. Это может произойти по нескольким причинам, одна из распространенных - вывод данных до установки куки.

Попробуйте следующие варианты решения:

  • Обновите WordPress до последней версии, если у вас не установлена актуальная версия
  • Смените тему оформления. Если вы используете кастомную тему, подключитесь по FTP и удалите папку с кастомной темой - WordPress автоматически переключится на стандартную тему
  • Если проблема сохраняется, переименуйте папку с плагинами

Также проверьте лог ошибок, так как ошибки могут не выводиться на экран.

3 янв. 2016 г. 18:21:28
Комментарии

".. или cookies отключены" ? Нет, не это.

Croll Croll
9 янв. 2016 г. 02:13:35

@DmitrijA спасибо, что указали на это, вы правы - при отключенных cookies сообщение об ошибке другое. Обновил ответ

Fiaz Husyn Fiaz Husyn
9 янв. 2016 г. 10:45:56

Как я могу сделать что-либо из вышеперечисленного, если не могу войти в WP? Единственный доступ, который у меня остался - это FTP.

MatoBehr MatoBehr
28 июн. 2016 г. 22:59:26

@MatoBehr Используя FTP, удалите папку вашей пользовательской темы. Если ошибка сохраняется, переименуйте папку плагина. Также проверьте журнал ошибок, чтобы понять причину возникновения этой ошибки

Fiaz Husyn Fiaz Husyn
30 июн. 2016 г. 13:15:48
1

Вы можете выполнить следующие шаги:

  1. Переименуйте директории themes и plugins.
  2. Теперь попробуйте зайти на /wp-admin/ или /wp-login.php. Надеюсь, на этот раз это сработает.
  3. Если шаг 2 сработал, войдите в админку.
  4. Теперь переименуйте директорию themes обратно в themes.
  5. Затем перейдите в меню Внешний вид и активируйте стандартную тему WordPress.
  6. Надеюсь, на этом этапе у вас получится зайти на фронтенд сайта.
  7. Если это сработало, попробуйте активировать вашу предыдущую тему. Если это сработает, скорее всего, ваша тема не имеет проблем.
  8. Если шаг 7 сработал, переименуйте директорию plugins обратно в plugins и найдите проблемные плагины. Если сайт снова перестанет работать, повторите шаги 1-6. Если шаг 7 не сработал, также повторите шаги 1-6. В этом случае проблема в вашей теме. Исправьте её.

Надеюсь, это поможет. Спасибо.

4 янв. 2016 г. 15:25:58
Комментарии

это решение помогло мне с моей проблемой. Правильный ответ в моем случае

Karue Benson Karue Karue Benson Karue
22 дек. 2021 г. 09:24:57
0

Шаг 1: Проверьте журналы ошибок, чтобы определить, какой файл(ы) вызывает ошибку. Проверка файла журнала ошибок поможет вам точно понять причину проблемы.

Журналы ошибок

Шаг 2: Если ошибки выглядят как “Cannot modify header information – headers already sent by (output started at” с указанием пути к файлу и пути к файлу wp-login.php с номером строки, это подтвердит, что проблема связана с UTF-8 BOM, и вы сможете определить файл с проблемой.

Конвертация в Notepad

Шаг 3: Откройте проблемный файл (в моём случае это был файл "custom-posts.php") в Notepad++. В меню "Кодировка" будет выбрано “Encode in UTF-8”. Убедитесь, что выбрана опция “Encode in UTF-8 without BOM”, а не “Encode in UTF-8”, затем нажмите “Convert to UTF-8 without BOM”, нажмите Enter в любом месте файла и сохраните.

Это помогло мне; однако в некоторых случаях проблема может быть в плагине, и переименование папки плагинов может помочь. Но перед внесением изменений убедитесь, что проверили журналы ошибок, чтобы понимать, что делаете.

8 янв. 2016 г. 08:44:52
0

Сначала проверьте свой сайт с темой WordPress по умолчанию, и если проблема решится, попробуйте проверить PHP-файлы вашей темы и удалить любые пробелы или переносы строк перед <?php, а также удалите ?> в конце файлов.

Также проверьте https://codex.wordpress.org/Editing_wp-config.php#Set_Cookie_Domain и используйте define( 'COOKIE_DOMAIN', 'www.askapache.com' ); в вашем файле wp-config.php.

4 янв. 2016 г. 13:11:01
0

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

1. Установите WP_DEBUG в TRUE
Установите значение WP_DEBUG в TRUE в вашем файле wp-config.php. Это выведет осмысленное сообщение об ошибке на странице wp-login.php. После решения проблемы вы можете отменить это изменение.

2. Посмотрите ОШИБКУ
После установки TRUE для WP_DEBUG вы можете получить сообщение об ошибке Cannot modify header information. Исходя из этого сообщения, можно предположить, что проблема может быть в вашей теме.

3. Переименуйте папку темы
Если пункт 2 подтвердился, переименуйте папку активной темы (например, mytheme в mytheme1). После этого вы сможете войти в систему, хотя сайт переключится на тему по умолчанию.

4. Снова активируйте тему
После успешного выполнения шага 3 и входа в систему вы можете снова столкнуться с пустой страницей. Не беспокойтесь, это связано с шагом 3.
Активируйте одну из доступных тем в Админ-панели > Внешний вид > Темы.

ПРИМЕЧАНИЕ: Не выбирайте старую тему (которую мы переименовали в пункте 3), так как в ней есть проблемы. После решения этих проблем вы сможете снова использовать эту тему.

Для выявления проблем в теме проверьте лог-файлы.

Если проблема сохраняется, попробуйте другие варианты:
1. Обновите версию WordPress. Смотрите инструкцию
2. Деактивируйте все плагины, затем снова активируйте их.

Вот и всё! Надеюсь, это поможет вам.

9 янв. 2016 г. 12:45:46
0

Странно, что error.log ничего не показывает...

Чтобы окончательно исключить символы BOM, я бы попробовал вручную перепечатать весь код (в functions.php и wp-config.php), который вы копировали из других источников, в документ, который точно имеет формат UTF-8. Возможно, символы остались, даже если формат документа был изменен в программе.

Дополнительное примечание: Если вы не уверены, поддерживает ли ваша версия Notepad++ сохранение "без BOM", попробуйте использовать другой редактор. Скорее всего, вам понадобится другой редактор только для решения этой конкретной проблемы.

Кроме того, пробовали ли вы полностью заменить файл wp-login.php? Вы можете попробовать это и/или заменить всю папку wp-admin. Если у вас были проблемы с загрузкой nav-menus.php, возможно, другие файлы/директории также не загрузились или загрузились частично.

5 янв. 2016 г. 21:31:31
0

У меня была такая же проблема, и я ЕЁ РЕШИЛ. Я просто подключился через FTP, изменил названия папок темы и плагинов, после чего смог получить доступ к админке WordPress без каких-либо проблем. Надеюсь, это поможет другим.

Спасибо, Нилеш

17 сент. 2016 г. 08:49:49
0

У меня была такая же проблема, и я смог войти в админку, просто переименовав папку темы. Так что проблема была в моей теме.

10 нояб. 2017 г. 12:08:14
0

В некоторых случаях, если вы видите ошибки или предупреждения на странице входа, можно попробовать временно установить define('WP_DEBUG', false); в файле wp-config.php. После входа необходимо исправить реальную проблему, которой в большинстве случаев является устаревший плагин или тема. Я решал подобные ситуации таким образом: после входа обновлял все компоненты, что приводило к исправлению проблемы.

define('WP_DEBUG', false);
4 сент. 2020 г. 21:19:16