Какую конфигурацию apache2 / php5 мне следует изменить, если я не хочу, чтобы сеанс умер? - PullRequest
0 голосов
/ 20 сентября 2011

Я регистрирую своего администратора следующим образом:

session_start();
$_SESSION['admin'] = TRUE;

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

Что мне нужно установить либо в htaccess, либо в самом php file, чтобы сеанс оставался живым не менее 8 часов?

Ответы [ 3 ]

0 голосов
/ 20 сентября 2011

Пользователь session.gc_maxlifetime:

По истечении этого количества секунд сохраненные данные будут рассматриваться как «мусор» и очищаться в процессе сбора мусора.

ini_set('session.gc_maxlifetime', 60 * 60 * 8);
0 голосов
/ 20 сентября 2011

На самом деле, вы не хотите, чтобы сессия не умирала.

Это против сессионной природы. Сессия - это то, что заканчивается по определению.
Продолжительная админка на 8 часов не имеет смысла.

Если вы хотите его автоматически обновить - используйте куки. Но не трогайте сам механизм сессии.

0 голосов
/ 20 сентября 2011

Создайте файл и поместите в него <?php phpinfo() ?> и проверьте вывод.

Значение, которое вы хотите посмотреть: session.cookie_lifetime и session.gc_lifetime .

gc_maxlifetime указывает количество секунд, по истечении которых данные будут рассматриваться как «мусор» и потенциально очищаться. Сборка мусора может происходить во время начала сеанса (в зависимости от session.gc_probability и session.gc_divisor).

В вашем скрипте, который отвечает за запуск сеансов, вы можете поместить ini_set('session.gc_maxlifetime', 3600); // set session data life to 1 hour или любое другое время, подходящее для вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...