Проблема, с которой я сталкиваюсь, заключается в том, что я не могу войти в мою недавно созданную вики, которую я создал с помощью MediaWiki. Я искал в Интернете ответ, и те, которые я нашел, не помогли с этой конкретной проблемой (например, эта проблема : с файлами cookie mediawiki ). Я попытался использовать несколько браузеров и изменил этот параметр, чтобы убедиться, что файлы cookie включены, но Я продолжаю получать ту же ошибку:
« Wiki использует файлы cookie для входа в систему. У вас отключены файлы cookie. Пожалуйста, включите их и повторите попытку ».
- Платежный шлюз MediaWiki
- Добавление дополнительного текста поиска в поисковый запрос MediaWiki с помощью InputBox
- Функция PHP не определена Ошибка и синтаксическая ошибка неуместного </ p> в сгенерированном HTML
- Как создать сервер на лазурном и хост-php, сайте mysql на этом
- Как вы фильтруете результаты API WikiVoyage по городу?
Я не уверен, что это проблема с моей текущей версией PHP, которая в настоящее время является 5.3, или настройкой в моей вики.
Я нашел исправление, я постараюсь сделать это:
LocalSettings.php
session_save_path("tmp");
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. Включите их и повторите попытку.
Неудачные попытки:
localsettings.php
(несмотря на остановку сервера). Что, в конечном итоге, было связано с использованием диспетчера 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
.
( источник )