Я пытаюсь настроить сервер для увеличения продолжительности сеанса до 2 часов, чтобы иметь возможность сохранять опросы (Limesurvey) после некоторого времени бездействия. Если я пытаюсь сохранить данные через 45 минут, появляется сообщение об ошибке, указывающее, что сеанс истек.
Я много читал, чтобы найти решения, но то, что я нашел до сих пор, не сработало. Возможно, потому что я что-то упустил.
Вот что у меня есть:
Настройки в конфиг-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 минут.
Любая помощь будет отличной.
Большое спасибо.
Проверьте задачи 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
Обычно каталог сеанса является общим для всех приложений в одном и том же веб-пространстве.
Поэтому, если у вас запущены другие приложения (CMS), они могут сократить время ожидания сеанса, и поэтому сеансы LimeSurvey также будут запущены.