При обновлении страницы несколько раз происходит логаут

При обновлении страницы несколько раз происходит логаут

от Alb Swan -
Количество ответов: 19

Приветствую

Мудл версии 2.8.7 и 2.9+

На том и на другом если обновить страницы несколько раз(иногда два иногда три раза) то происходит логаут.

Временно решается очисткой кэша( Purge all caches ).

Раньше сидели на 2,5, такой проблемы не наблюдалось. Кэши чистили, можно сказать чисто от делать нечего, в раз несколько месяц.

Кто нибудь сталкивался с такой проблемой? Как это победить?

В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Александр Козлов -

/admin/settings.php?section=sessionhandling

тут настройки смотрели?

В ответ на Александр Козлов

Re: При обновлении страницы несколько раз происходит логаут

от Alb Swan -

да смотрел, там все по умолчанию кроме sessiontimeout = 4 часа


В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Александр Козлов -

хранение в базе данных включено? или нет? попробуйте этот пункт поменять

В ответ на Александр Козлов

Re: При обновлении страницы несколько раз происходит логаут

от Alb Swan -

Хранение сессии в базе выключено.

Включил, понаблюдаем теперь.


Не помогло, проблема остается.

В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Александр Козлов -

Как вариант - проверьте доп плагины, есть к примеру auth_uniquelogin который может выкинуть если меняется устройство или ip. Кроме этого в одних из последних обновлениях такую же функцию встраивали в основное ядро программы (local плагины смотрите).

В ответ на Александр Козлов

Re: При обновлении страницы несколько раз происходит логаут

от Alb Swan -

Указанных вами плагина нет. Локальных тоже, по крайней мере если перейти к разделу /admin/localplugins.php показывает сообщение

Local plugins

Nothing to display

В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Александр Козлов -

Проверьте тут параметр /admin/settings.php?section=manageauths

Больше у меня нет идей


Лимит одновременных входов в системуlimitconcurrentlogins

В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Alb Swan -
Проблема еще актуально и непонятно куда копать.
Удалось выяснить вот что. При обновлении страницы на броузере если кэш засорен, то меняется номер сессии. Firebug показывает это в перменной MoodleSession. При изменении этого значения и происходить логаут.
Почему это менятеся не понятно. Что то нехорошое остается в кэше видимо.
А после чистки кэша все нормально. Но не на долго, иногда до сутки иногда час два.
В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Vadim Tabunshchik -
Изображение пользователя Developers
Firebug показывает это в перменной MoodleSession

Каой размер сессии показывает Firebug? И сейчас где сессии хранятся?

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

При чистке кэша увеличивается свободное место в папке moodledata, отсюда смею предположить банальную нехваку места на диске при хранении сессии в файловой системе. Сессии будут создаваться нулевого размера. Сталкивался с таким.

Если сессии хранятся в базе, таблицы не должны быть в MyISAM. См. настройки сессий в файле config-dist.php

В ответ на Vadim Tabunshchik

Re: При обновлении страницы несколько раз происходит логаут

от Alb Swan -

Размеры 39 байт,

Данный момент сессии хранятся в файлах.

До этого несколько дней был на базе для эксперимента. База Oracle 11g

Мест на диске достаточно.

В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Vadim Tabunshchik -
Изображение пользователя Developers
Данный момент сессии хранятся в файлах.

И эти файлы присутствуют в каталоге /moodledata/sessions?

Тады не знаю грущу

Может чего-то накрутили с сессиями в php.ini?

Может установлен и не настроен Memcached?

В ответ на Vadim Tabunshchik

Re: При обновлении страницы несколько раз происходит логаут

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Посмотрите, сколько файлов у вас в moodledata/sessions. Если слишком много, значит что-то не так. За регулярную автоматическую очистку старых сессий отвечает cron. Убедитесь, что он у вас настроен на ежеминутный запуск.

На всякий случай проверьте права на папку с сессиями. Проверьте состояние жесткого диска, может он у вас сбоит? Проверьте состояние файловой системы. Много места на диске - это ещё не показатель. У меня несколько раз было, что большое количество мелких файлов не давало писать на диск, хотя внешне казалось, что на диске ещё несколько гигабайт свободного места.

Проверьте время на сервере. Может быть у вас неправильно идут часы и из-за этого браузер удаляет cookie раньше времени.

Не настраивали ли вы firewall на блокировку слишком частых запросов? Не регулировали ли в веб-сервере число активных процессов?

Проверьте состояние параметра php session_auotostart. Должно быть 0

В ответ на Vadim Dvorovenko

Re: При обновлении страницы несколько раз происходит логаут

от Alb Swan -

Файлы в moodledata/sessions нормально создаются удаляется, с утра было 339 сейчас 857.

И все свежие примерно за последние 4 часа.

Насчет session_auotostart, такого ключа вообще нет в нашем php.ini.

Там ведь должен находиться этот ключ, правильно?

Шя погуглю и добавлю в нужное место.


К статьи крон у нас настроен не на ежеминутное выполнение а каждые 15 минут.

нашел session.auto_start здесь /admin/phpinfo.php

session.auto_startOffOff

В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Alb Swan -

вот все настройки сессии



session

Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

DirectiveLocal ValueMaster Value
session.auto_startOffOff
session.cache_expire180180
session.cache_limiternocachenocache
session.cookie_domainno valueno value
session.cookie_httponlyOffOff
session.cookie_lifetime00
session.cookie_path//
session.cookie_secureOffOff
session.entropy_file/dev/urandom/dev/urandom
session.entropy_length3232
session.gc_divisor10001000
session.gc_maxlifetime3456001440
session.gc_probability10
session.hash_bits_per_character55
session.hash_function00
session.nameMoodleSessionPHPSESSID
session.referer_checkno valueno value
session.save_handlerfilesfiles
session.save_path/var/www/html/moodledata/sessions/var/lib/php5
session.serialize_handlerphpphp
session.upload_progress.cleanupOnOn
session.upload_progress.enabledOnOn
session.upload_progress.freq1%1%
session.upload_progress.min_freq11
session.upload_progress.namePHP_SESSION_UPLOAD_PROGRESSPHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefixupload_progress_upload_progress_
session.use_cookiesOnOn
session.use_only_cookiesOnOn
session.use_trans_sid00

В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Не совсем по делу, но. У Вас есть веские мотивы пользоваться Oracle? Это мощная база, но с рядом специфических нюансов из-за которых разработчики регулярно поднимают вопрос о том, чтобы отказаться от неё. У Вас коммерческая версия Oracle на отдельном от moodle сервере? Если у вас Oracle XE на том же сервере, что и moodle - подумайте о переезде на Postgresql.

В ответ на Vadim Dvorovenko

Re: При обновлении страницы несколько раз происходит логаут

от Alb Swan -

Это был приказ начальства, два года назад с MySQL перешли на Oracle.

Там действительно есть проблемы, в нескольких местах немного меняли код после прехода, чтоб работала с Oracle

Возможно в скором времени перейдем на Postgresql. А Oracle передадим, в смысле лицензию, в другой проект, так как бюджет режут по всем проектам.

В ответ на Alb Swan

Re: При обновлении страницы несколько раз происходит логаут

от Alb Swan -
Похоже проблема решена.
Причина была в модуле apache mem_cache.
Подсказка Vadim Tabunshchik был все таки правильным, но тогда я про модуль не вспомнил, только проверил наличие отсуствие сервиса memcached
Данный модуль отключил вчера и до сегодняшнего дня все работает без очистки кэша.

Всем кто откликнулся большое спасибо!