Я делаю что-то неправильно? Я запускаю следующее при каждой загрузке страницы, и примерно каждые 30 минут, если ничего не происходит, мой сеанс пропадает. Я могу закрыть браузер и снова открыть его, и сеанс все еще там, но примерно через 30 минут он ушел. Чем это вызвано?
ini_set('session.gc_maxlifetime', 365 * 60 * 60 * 24 * 10);
session_set_cookie_params(365 * 60 * 60 * 24 * 10, "/");
session_start();
Когда я смотрю в chrome, чтобы увидеть, когда сеанс истекает, он говорит:
Tuesday, January 14, 2025 at 10:26:13 PM
Что заставляет меня терять сессию?
Сеансы хранятся в / tmp dir до закрытия браузера. В вашем случае вы должны хранить данные сеанса в базе данных, чтобы посмотреть их позже, если вы пытаетесь это сделать.
Сессии спроектированы так, что они основаны на «Сессии». Другими словами, если вы закроете свой браузер (который по сути является вашим сеансом), он должен уйти.
Поместите идентификатор сеанса и данные сеанса в таблицу. Найдите идентификатор сеанса из файла cookie PHPSESSID и найдите данные сеанса из вашей базы данных.
Какую информацию вы храните? если его пользователь и пароль не следует хранить в файлах cookie, доступ к этой информации легко получить, если хакер пытался получить доступ к этой информации.
Других решений пока нет …