session.cookie_lifetime
из 0 сохранит cookie до перезапуска браузера (в основном для всего сеанса).
Установка для session.gc_maxlifetime
такого высокого значения будет означать, что у вас будет много устаревших сеансов на вашем сервере, и это может быть проблемой, если у вас большое количество сеансов - обычно сеансы хранятся в системной папке / tmp. Когда эта папка, обычно на * nix машинах, заполняется, это может вызвать проблемы на машине - процессы начинают блокироваться, поскольку по какой-то причине не удается создать временные файлы. (Вы можете изменить session.save_path
на что-то отличное от / tmp, чтобы у вас не было этой проблемы - особенно на общих хостах).
Кто-то, тем не менее, с большим опытом работы с конфигурациями серверов, может знать, что существуют другие таймауты, такие как настройки Apache и TCP, которые могут превзойти это значение независимо от того, насколько высоко вы его создаете.
Я полагаю, что вы в основном спрашиваете о функции Remember Me
, которая позволит кому-либо войти в систему без необходимости запоминать свое имя пользователя / пароль и запоминать точное состояние (сессия 1 месяц).
Функция Remember Me
может быть реализована с помощью вращающегося файла cookie аутентификации, для которого установлен следующий токен в известной серии на основе учетных данных пользователя для входа в систему.
Функция 1-месячного сеанса может быть реализована путем сохранения состояния сеанса в постоянном кэше (файловый кэш, база данных, что-то более сложное, например, Toyko Tyrant).