[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ini_set session.gc_maxlifetime
sh47n
Ставлю

ini_set('session.gc_maxlifetime', 100000);
ini_set('session.cookie_lifetime', 100000);

Проверяю

echo 'session.gc_maxlifetime = ' . ini_get('session.gc_maxlifetime') . "<br>";
echo 'session.cookie_lifetime = ' . ini_get('session.cookie_lifetime') . "<br>";

Выглядит нормально, но почему-то сессионная переменная умирает через ~10 минут.
В мануале пишут, что время в session.gc_maxlifetime задается в минутах.
Если нельзя так удлинить время жизни, есть ли в PHP возможность проверять, сколько осталось времени жизни сессионной переменной, чтобы выдавать сообщение пользователю?
bestxp
сессия умирает через 10 минут потому что пользователь не активен был, в противном случае она будет висеть постоянно пока пользователь совершает активность с активной сессией
Invis1ble
Цитата (sh47n @ 11.06.2015 - 08:51)
В мануале пишут, что время в session.gc_maxlifetime задается в минутах.

Цитата (https://php.net/manual/ru/session.configuration.php#ini.session.gc-maxlifetime)
session.gc_maxlifetime задает отсрочку времени в секундах

Цитата (https://php.net/manual/ru/session.configuration.php#ini.session.gc-maxlifetime)
Замечание:
Если разные скрипты имеют разные значения session.gc_maxlifetime, но при этом одни и те же места для хранения данных сессии, то скрипт с минимальным значением уничтожит все данные. В таком случае следует использовать эту директиву вместе с session.save_path.

и еще комменты рекомендую почитать, ибо лень все копипастить

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

sh47n
Цитата (bestxp @ 11.06.2015 - 11:26)
сессия умирает через 10 минут потому что пользователь не активен был, в противном случае она будет висеть постоянно пока пользователь совершает активность с активной сессией

дык я для этого ini_set...
sh47n
Цитата (Invis1ble @ 11.06.2015 - 12:46)
Цитата (sh47n @ 11.06.2015 - 08:51)
В мануале пишут, что время в session.gc_maxlifetime задается в минутах.

Цитата (https://php.net/manual/ru/session.configuration.php#ini.session.gc-maxlifetime)
session.gc_maxlifetime задает отсрочку времени в секундах

Цитата (https://php.net/manual/ru/session.configuration.php#ini.session.gc-maxlifetime)
Замечание:
Если разные скрипты имеют разные значения session.gc_maxlifetime, но при этом одни и те же места для хранения данных сессии, то скрипт с минимальным значением уничтожит все данные. В таком случае следует использовать эту директиву вместе с session.save_path.

и еще комменты рекомендую почитать, ибо лень все копипастить

Моя ошибка, прочел
Цитата
session.cache_expire указывает время жизни кэшированных страниц сессий в минутах

подумал, что все параметры в минутах:(
Комментс почитал, но ничего не нашел, почему установленное время не работает.
На хабре предлагают решение, но параметры сервера мне не дадут менять.

Для сообщения клиенту остатка секунд, есть что-нибудь в PHP?
Invis1ble
Цитата (sh47n @ 11.06.2015 - 12:48)
Комментс почитал, но ничего не нашел, почему установленное время не работает.

ну например, потому что https://php.net/manual/ru/session.configuration.php#107990
или потому что
Цитата (Invis1ble @ 11.06.2015 - 11:46)
Если разные скрипты имеют разные значения session.gc_maxlifetime, но при этом одни и те же места для хранения данных сессии, то скрипт с минимальным значением уничтожит все данные.


Цитата (sh47n @ 11.06.2015 - 12:48)
Для сообщения клиенту остатка секунд, есть что-нибудь в PHP?
sh47n
Invis1ble
Крутейшая строчка
Цитата
max value for "session.gc_maxlifetime" is 65535. values bigger than this may cause  php session stops working

Может в этом как раз причина, ошибка на 100000 не выдается, а просто сбрасывается дефолтовому значению.

С "http-протокол " ничего не будет, для этого должен быть какой-то постоянный рефреш с опросом сервера.
В пред.фирме я сталкивался с подобной проблемой в asp, решить не смогли.
Страница с большим кол-вом input и select, клиент набирает текст, вдруг вспомнил за кофе и убежал, N минут прошло и туши свет. Клиенты просили сделать аудио оповещение, что к ним этот подкрадывается сзади и незаметно.
Invis1ble
в чем проблема? при запросе получаем текущее значение времени жизни и передаем его в js-код, который показывает таймер/выдает аудио-оповещение/пляшет канкан

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

sh47n
Invis1ble
это вариант, попробую, сенкс!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.