Как сделать так, чтобы сессия пользователя продолжалась 24 часа? - PullRequest
6 голосов
/ 21 июня 2011

Я перепутался с моими файлами apache и php.ini, и пользователи моего сайта все еще жалуются на то, что сайт их отключает через очень короткое время или каждый раз, когда они закрывают и открывают один и тот же браузер.

Я использую Apache и PHP.

Какие настройки я должен установить, чтобы сеанс пользователей продолжался 24 часа, чтобы им не приходилось повторно входить в систему каждый раз?

Спасибо, Alex

Ответы [ 2 ]

10 голосов
/ 21 июня 2011

В php.ini установите:

; 24 hour session cookie
session.cookie_lifetime = 86400

; Prevent server from cleaning up session
; Some value higher than the cookie lifetime
session.gc_maxlifetime = 200000 
3 голосов
/ 21 июня 2011

Странно.Сессии должны длиться довольно долго.Попробуйте проверить ваш код на наличие случайных session_destroy () s.

Если это не сработает, то, возможно, попробуйте использовать куки:

setcookie(name, value, expire); 

Итак, чтобы установить переменную cookie в PHP,вы просто используете

<?php
    setcookie("MyCookie", "MyValue", time()+60*60*24); 
?>

Срок действия указывается в секундах.Используя приведенный выше код, вы сможете установить файл cookie с именем «MyCookie» со значением «MyValue», который длится 24 часа.

Чтобы получить значение этого файла cookie, вы можете использовать

<?php
    print($_COOKIE['MyValue']);
?>

Обратите внимание, что файлы cookie ДОЛЖНЫ быть установлены до вызова тега.

Если файлы cookie также не работают, возможно, это проблема с вашим php.ini. Можете ли вы опубликовать свой php.ini, если файлы cookieне работает?

Надеюсь, это поможет!

...