Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Время жизнии сессии 
:(
    Опции темы
ReactOS
  Дата 26.3.2008, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Добрый вечер!

У меня возникла некоторая проблема в понятии того как работают сессии, точнее когда они собираются gc(garbage collector).

Код

<?php
ini_set('session.gc_maxlifetime', 2);
ini_set('session.gc_probability',100);
ini_set('session.gc_divisor',100);
session_start();

var_dump($_SESSION);
$_SESSION['hello'] = date('r');
var_dump($_SESSION);
?>


Я ожидал что этот код будет работать так.

Если страница загружена первый раз или спустя 2 секунды, то первый var_dump выводит пустой массив, второй - текущее время. 
Если страница загружена до истечения двух секунд после предидущей загрузки, то первый - время предидущей загрузки, второй - тек. время. 
Но нет... Сколько бы секунд не прошло, всегда выводятся два времени. Я "докопался" до того что выяснил из-за чего сессия не умирает. После первого старта сессии у клиента появляется cookie. Время жизни у этой куки - до закрытитя броузера. Разве так должно быть? Если все работает как и должно, подскажите мне вариант для реализации тех двух условий которые мне нужны.

Заранее спасибо!


PM   Вверх
Fortop
Дата 26.3.2008, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



http://ua2.php.net/manual/ru/function.sess...ache-expire.php

Добавлено через 2 минуты и 17 секунд
http://ua2.php.net/manual/ru/ref.session.php

Добавлено через 2 минуты и 41 секунду
Время жизни задается в минутах


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
awers
Дата 26.3.2008, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Fortop, тестил - не работает )
PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 26.3.2008, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42





--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
awers
Дата 26.3.2008, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Fortop, ага. Это я просто недавно хотел вылизать код своего mod_auth, думал там помороковать, как оказалось session_* все кроме старт - сукс :(
PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 26.3.2008, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Непонял. Что тебя не устроило?

Между прочим, пользуйся Zend_Session::start(); Zend_Session_Namespace();
Удобно.



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
awers
Дата 26.3.2008, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Fortop, session_cache_expire у меня на 3х разных версиях пхп не работал. 2 часа мучал, потом бросил.
Zend* посмотрел и бросил. Некчему мне 13 метров к движку прикручивать smile 
PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 26.3.2008, 23:32 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Крути его по-частям. Он нарезается.
У меня сейчас кода и Zend'a уже 30/70, а середины проекта еще не видно smile

Добавлено через 5 минут и 38 секунд
Цитата(awers @  26.3.2008,  23:30 Найти цитируемый пост)
session_cache_expire у меня на 3х разных версиях пхп не работал

Внимательнее почитал документацию....

Собственно правильно все работает - 
Цитата

session.cache_limiter specifies cache control method to use for session pages (none/nocache/private/private_no_expire/public). Defaults to nocache. 
session.cache_expire specifies time-to-live for cached session pages in minutes, this has no effect for nocache limiter. Defaults to 180

Т.е. он отвечает за время жизни закешированных страниц (у пользователя).

Вопрос
Цитата(ReactOS @  26.3.2008,  23:05 Найти цитируемый пост)
После первого старта сессии у клиента появляется cookie. Время жизни у этой куки - до закрытитя броузера

Решается через
session-set-cookie-params();

В общем, в очередной раз убедился, что курить ман - полезно.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
ksnk
Дата 27.3.2008, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



ReactOS
параметр session.gc_maxlifetime в php.ini отвечает за время жизни собственно сессионных данных... Правда как влияет его run-time изменение на окружающую нас реальность я не проверял  smile 




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0788 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.