Сессия истекла

Я пытаюсь настроить сервер для увеличения продолжительности сеанса до 2 часов, чтобы иметь возможность сохранять опросы (Limesurvey) после некоторого времени бездействия. Если я пытаюсь сохранить данные через 45 минут, появляется сообщение об ошибке, указывающее, что сеанс истек.

Я много читал, чтобы найти решения, но то, что я нашел до сих пор, не сработало. Возможно, потому что я что-то упустил.

Вот что у меня есть:

  • Plesk 12.5.30
  • Limesurvey 2.06+ Build 150831
  • PHP 5.3.10

Настройки в конфиг-defaults.php (Limesurvey) есть:

$config['iSessionExpirationTime'] = 7200;

два часа это нормально, это то, что я хочу, но не работает. Поэтому я подумал, что настройки моего сервера переопределяют настройки Limesurvey. Итак, я пошел в plesk> домены, выбрал мой домен и нажал на настройки PHP, прокрутил вниз и добавил в «Дополнительные указания» эти две строки:

session.cookie_lifetime = 7200
session.gc_maxlifetime = 7200

Теперь все мои дополнительные инструкции выглядят так:

max_input_vars = 5000
suhosin.memory_limit = 128
suhosin.post.max_value_length = 5000000
suhosin.post.max_vars = 5000
suhosin.request.max_value_length = 5000000
suhosin.request.max_vars = 5000
suhosin.simulation = 1
session.cookie_lifetime = 7200
session.gc_maxlifetime = 7200

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

Любая помощь будет отличной.

Большое спасибо.

2

Решение

Проверьте задачи cron:

cat /etc/cron.d/php5

# /etc/cron.d/php5: crontab fragment for php5
#  This purges session files in session.save_path older than X,
#  where X is defined in seconds as the largest value of
#  session.gc_maxlifetime from all your SAPI php.ini files
#  or 24 minutes if not defined.  The script triggers only
#  when session.save_handler=files.
#
#  WARNING: The scripts tries hard to honour all relevant
#  session PHP options, but if you do something unusual
#  you have to disable this script and take care of your
#  sessions yourself.

# Look for and purge old sessions every 30 minutes
09,39 *     * * *     root   [ -x /usr/lib/php5/sessionclean ] && /usr/lib/php5/sessionclean
0

Другие решения

Обычно каталог сеанса является общим для всех приложений в одном и том же веб-пространстве.
Поэтому, если у вас запущены другие приложения (CMS), они могут сократить время ожидания сеанса, и поэтому сеансы LimeSurvey также будут запущены.

0

По вопросам рекламы [email protected]