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

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

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

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

Я нашел исправление, я постараюсь сделать это:

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

Если вы используете 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 он работает отлично.

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

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

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

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

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

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

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

 $wgSessionsInObjectCache = true; $wgMainCacheType = CACHE_ANYTHING; 

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

См. Также документацию по кэшу .

то же самое может произойти, когда memcached используется для хранения файлов сеанса. в этом случае wiki не сможет писать файлы cookie ни в / в / tmp. если вы видите в файле error.log что-то вроде «file not found (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 

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

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

Кроме того, если пользователь попытался войти в Wiki, он получит это (красное) сообщение:

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

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

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

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

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

Будьте корень:

 su - 

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

 nano /etc/php5/apache2/php.ini 

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

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

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

 chmod -R 1777 /tmp 

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

Я установил 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 

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

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

#$wgCookieSecure=true;

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

Положил

 $wgDisableCookieCheck = true; 

в вашем LocalSettings.php .

( источник )