Время жизни сессии PHP

12
A
На сайте с 06.11.2010
Offline
128
1209

Если я задал время сессии на два дня, то через два дня она удалиться даже если человек сидит на сайте?

дани мапов
На сайте с 06.09.2012
Offline
204
#1

Да, сессия будет удалена.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
A
На сайте с 06.11.2010
Offline
128
#2

А это правильно? Может сделать чтобы после каждого действия на сайте обновлялось время жизни сессии.. и получается она удалиться только когда пользователь последнии два дня не заходил на сайт

дани мапов
На сайте с 06.09.2012
Offline
204
#3

Используйте куки для этого.

S
На сайте с 23.05.2004
Offline
316
#4

А для чего конкретно сессия нужна ? С длинным временем жизни она может распухнуть от данных. Если же только авторизация - то это лучше решать не сессиями, а через ключи в куки.

Это просто подпись.
A
На сайте с 06.11.2010
Offline
128
#5

Когда юзер логинется я проверяю его данные и если всё ок пишу в сессию


array(
'employeeId', 'companyId',
'firstName', 'lastName',
'sex', 'lang',
'email', 'role',
'isArchived', 'timeZoneId'
);

потом при каждом действии проверяю сущестует ли эта сессия.

Тут ещё дело в том, что я использую Zend Framework :)

Когда пользователь логинется, время жизни задаю вот таким способом:

$session = new Zend_Session_Namespace('Zend_Auth');

$session->setExpirationSeconds((24*3600)*14);

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

Вот мне хочется понять - это правильно? Или выкинуть должно после того как я закрою и вновь отркою браузер...?

дани мапов
На сайте с 06.09.2012
Offline
204
#6
Alkoshenko:

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

Вот мне хочется понять - это правильно? Или выкинуть должно после того как я закрою и вновь отркою браузер...?

Правильно, выкидывает после "неактивности" юзера, даже если браузер открыт.

A
На сайте с 06.11.2010
Offline
128
#7

дани мапов, да не, я вроде клацал везде и через 10 сек меня всёравно выкинуло(

IL
На сайте с 20.04.2007
Offline
435
#8
Alkoshenko:
дани мапов, да не, я вроде клацал везде и через 10 сек меня всёравно выкинуло(

Если изменить каталог хранения данных сессии (session_save_path) - сборщик мусора "с других сайтов" не будет затирать сессии этого сайта.

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
A
На сайте с 06.11.2010
Offline
128
#9

ivan-lev, ivan-lev, других сайтов нет, вы видно не поняли мою проблему.

Мне нужно задавть время сессии, я задал на 10 секунд. После логина на сайт я гулял 10 секунд и сессия удалилась и меня выкинуло... это так должно быть или это фишка Зенда?

Я просто не знаю как должна вести себя время сессии..

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#10

Настройки PHP:

1)session.gc_maxlifetime = 30

; After this number of seconds, stored data will be seen as 'garbage' and

; cleaned up by the garbage collection process.

Число в секундах. По прошествии этого времени хранимая информация будет расценена как мусор и будет удалена сборщиком мусора.

2)session.cookie_lifetime = 30

; Lifetime in seconds of cookie or, if 0, until browser is restarted.

Время жизни куки в браузере в секундах. Если значение 0, то кука убьется после рестарта браузера

А вообще, вот, почитайте.

Подпись))
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий