Как я могу исправить ошибку MediaWiki "Wiki использует файлы cookie для входа в систему. У вас отключены файлы cookie. Пожалуйста, включите их и повторите попытку".?

Проблема, с которой я столкнулась, заключается в том, что я не могу войти в мою недавно созданную вики, которую я создал с помощью MediaWiki. Я искал в Интернете ответ, и те, что я нашел, не помогли решить эту проблему (например, эта проблема: с куки файлами cookie). Я попытался с несколькими браузеров и изменили настройку, чтобы убедиться, что файлы cookie включены, но я продолжаю получать ту же ошибку:

"Wiki использует файлы cookie для входа в систему. У вас отключены файлы cookie. Включите их и повторите попытку."

Я не уверен, что это проблема с моей текущей версией PHP, которая в настоящее время является 5.3, или настройкой в ​​моей вики.

Ответ 1

Я нашел исправление, я положу его:

  • Открыть LocalSettings.php
  • Перейдите в нижнюю часть страницы и введите следующий код: session_save_path("tmp");
  • Создайте каталог с именем tmp в папке, где установлен MediaWiki.

Ответ 2

Если вы используете NGINX + PHP-FPM, предыдущие ответы скорее всего не помогут решить вашу проблему.

Из моего опыта эта проблема возникает, когда php-fpm не имеет права на запись в файл cookie_path. Вы можете найти этот путь, выполнив:

php-fpm -i|grep --color cookie_path

Посмотрите, что такое ваш cookie_path, затем скопируйте папку и убедитесь, что пользователь php-fpm имеет к ней доступ на запись.

Чтобы решить эту проблему с помощью Nginx и Php-Fpm, мне пришлось изменить свой cookie_path с его по умолчанию/(серьезно, почему это будет по умолчанию?) в /tmp.

После перезапуска nginx и php-fpm он отлично работает.

Ответ 3

Самое простое решение, также рекомендованное Аароном Шульцем, обычно устанавливает

$wgSessionsInObjectCache = true;
$wgMainCacheType = CACHE_ANYTHING;

в LocalSettings.php. В недавнем PHP у вас будет включен OPcache по умолчанию; если ускоритель недоступен, в худшем случае эта конфигурация будет использовать базу данных.

См. также cache документация.

Ответ 4

У меня также была эта проблема...

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

Я сделал групповую политику для отключения файлов cookie. После встречи с моей командой поддержки сервера, что ничто так не было реализовано, я решил удаленно на сервер.

Сервер жаловался на низкое дисковое пространство. Я очистил диск, удалив некоторые старые несвязанные файлы.

Пытался снова войти в систему из моего браузера, и все было нормально.

Ответ 5

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

Ответ 6

то же самое может случиться, когда memcached используется для хранения файлов сеанса. в этом случае wiki не сможет писать файлы cookie ни в/в/tmp. если вы видите в error.log что-то вроде "файл не найден (11211: 9001/qweqweqweqweqe)", это означает, что у вас есть memchached, установленный и настроенный, и вам нужно добавить следующие строки в LocalSettings.php:

$wgMainCacheType = CACHE_MEMCACHED; 
$wgParserCacheType = CACHE_MEMCACHED; # optional 
$wgMessageCacheType = CACHE_MEMCACHED; # optional 
$wgMemCachedServers = array( "127.0.0.1:11211" );
$wgSessionsInMemcached = true; # optional

Ответ 7

Будь root:

su -

Затем отредактируйте файл php.ini:

nano /etc/php5/apache2/php.ini

И установите эти переменные в /tmp:

session.save_path = "/tmp"   
session.cookie_path = "/tmp"

Вы также можете исправить разрешения на всякий случай:

chmod -R 1777 /tmp

Ответ 8

Просто столкнулся с этой проблемой на сервере Win2008 R2, на котором запущен IIS, при создании пользователя дал этот (красный) msg:

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

Также, если пользователь попытался войти в Wiki, он получит этот (красный) msg:

Ошибка входа (WikiName) использует файлы cookie для входа в систему. У вас есть файлы cookie отключен. Включите их и повторите попытку.

Неудачные попытки:

  • Я попробовал решение JesseG17, но не смог сохранить изменения в localsettings.php (несмотря на остановку сервера).
  • Я проверил разрешения на временное местоположение, но это не помогло.
  • Я изменил попытку изменения временного местоположения с помощью диспетчера IIS PHP, но что ничего не изменило.

Что в конечном итоге работало с менеджером IIS PHP для изменения Настройки PHP MediaWiki; session.use_cookies от 0 до 1

Это решило проблему без перезагрузки.

Ответ 9

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

Я установил MediaWiki на CentOS с NGINX. После успешного запуска в течение нескольких месяцев я начал получать ту же самую ошибку cookie из ниоткуда.

введите описание изображения здесь

Проблема была в том, что у пользователя php-fpm не было доступа к папке session.save_path. Я не знаю, почему это произошло, но теперь я исправил его.

Я выполнил вариант SprintCycle команды, чтобы определить, где были сохранены сеансы:

php-fpm -i|grep --color save_path

В моем случае это было /var/lib/php/session.

Затем я изменил каталоги и установил разрешения:

cd /var/lib/php
chmod -R 1777 session

Я перезапустил службы, и все снова работало.

service nginx restart
service php-fpm restart

Ответ 10

Еще одна вещь, которую нужно проверить, - это полный каталог tmp для сеанса. Симптомы - сообщения с ошибкой "запись не удались" в журнале ошибок HTTP-сервера. Duh!

Ответ 11

Мне пришлось раскомментировать настройку wgCookieSecure в LocalSettings.php:

#$wgCookieSecure=true;

нашел это только после того, как проверил, что другая вики на том же компьютере просто отлично работает с аналогичными настройками. Поэтому для отладки вы можете захотеть установить новую медиавику в соседнем каталоге и проверить, не дает ли вам никаких проблем. Тогда вы можете пройти все предложения здесь, а также https://www.mediawiki.org/wiki/Topic:Rg3w5u0e70fs8l4e

Ответ 12

Помещенный

$wgDisableCookieCheck = true;

в LocalSettings.php.

(источник)