сесии

5 отговора 249 прегледа
#1

сесии

здравейте
проблема ми е свързан със сесиите, и в частност с тяхното изтичане. става така, че когато започне сесията, тя изтича след около половин час. бих искал да разбера къде според вас може да се крие причината това да става. по-надолу се намират 3 прости файла, с който също съм пробвал и проблема продължава да съществува (въпреки, че според мен няма логика да става така). настройките на сървъра са следните:

Session Support enabled
Registered save handlers files user

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid On On

принципа, на който използвам сесиите, е показан в тези трите файла:
--------------------------------------------------------
1.php
*****
<?php
session_start();
if (!session_is_registered(prom))
{echo "ne e registrirana sesiq do momenta. ";
session_register(prom);
$prom = "blabla";
session_write_close();
}

else
echo "sesiqta e registrirana ";

echo $prom;

?>
<a href=2.php> 2</a>

----------------
2.php
*****
<?php
session_start();
if(!session_is_registered(prom))
echo "ne e registrirana sesiq";
else echo "registrirana e sesiqta - $prom";

?>
<a href=3.php>3</a>

-----------------
3.php
*****
<?php
session_start();
if (session_is_registered(prom))
echo "registrirana e sesiqta - $prom";
else echo "nqma registrirana sesiq";
?>
<a href="1.php">1</a>
----------------------------------------------------------------

отново повтарям (защото стана много дълго:), проблема е, че изтичат след около половин час, моля някой да даде идея защо се получава така и къде е причината според него.

Отговор
в отговор на c #2

Re: сесии

abe az ne razbiram mnogo ot PHP ama da ne e pri4inata v nastroikite za produljitelnosta na PHP scriptovete. sigurno govora gluposti ama pone e predlojenie.

Отговор
в отговор на nekav_tam #3

Re: сесии

session.cookie_lifetime = 0
не би трябвало да е от това

Отговор
в отговор на c #4

Re: сесии

Ми смени си session.gc_maxlifetime. В момента ти е 1440 което е 24 мин.

----------

Кирилица Forever
Отговор
в отговор на 9-rлaвaтa лaмя #5

Re: сесии

вече го пробвах, причината не е в това.
някакви други предположения?

Отговор
в отговор на c #6

Re: сесии

1. не ползвай session_register, session_is_registered и т.н., а $_SESSION superglobal променливата
2. за всеки случай си сетни всички параметри в началото на скрипта (ini_set, session_set_cookie_params и т.н.)
3. ако cache_limiter-а ти е nocache, cookie_domain-a ти е валиден и cookie_lifetime-а ти е 0, ще имаш куки докато не затвориш браузъра или не се логаутнеш (мисля че трябваше да го изтриваш тогава експлицитно)

Отговор