webForumDet fria alternativet

Förlänga en sessions livstid?

PHP

7 svar · 1 503 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#1

Jag har googlat, men inte funnit tillfredsställande svar.

Hur förlänger jag sessioners livstid? Vad jag kan se har Binero en inställning för session.gc_maxlifetime på 1440 (24min?).
Det är kanske en session.gc_minlifetime som jag är ute efter, men jag hittar ingen sån :)
Jag har testat att sätta detta högst upp på alla sidor (43200..12h?), men det gör ingen verkan, mer än att det står ett nytt lokalt värde när jag kör phpinfo()...

ini_set('session.gc_maxlifetime', "43200");

Kort och gott, hur utökar jag livslängden? :) Tack!

Medlem sedan apr. 20117 inlägg
#2

Om du använder cookies för att hålla kolla på sessions id:t kan du ändra värdet på "session.cookie_lifetime" som har standard värdet 0.

Borde fungera men har aldrig försökt, effekten blir (förhoppnings vis) att användarens dator behåller kakan med session id:t längre.. och vad kan hända som värst? Att du får köpa en ny server till Binero ;)

Här har du docen för PHP och sessions värden: http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime

Happy Days
//Mr.1Buying :birp

Medlem sedan nov. 20016 480 inlägg
#3

Så det jag är ute efter är alltså? :)

ini_set('session.cookie_lifetime', "43200");

Ska testa...

Medlem sedan apr. 20117 inlägg
#4

Förhoppnings vis, enda skillnaden blir ju att användarens dator behåller kakan som troligen de flesta har satt med "Kom ihåg mig". (Sessions id:t)

Men nu kan man bara inte stänga ner internetläsaren då sessionen INTE kommer att död. Vilket de flesta är vana vid när man inte använder "Kom ihåg mig" alternativet så att påpeka för användarna att "Logga ut" är nu ännu viktigare.

Men förutom den "lilla" delen så ska det fungera som tänkt, en person kan stänga ner internetläsaren lämna datorn några minuter och session på serven ligger ännu kvar och användaren behåller kakan med session id:t.

Happy Days
//Mr.1Buying

Medlem sedan nov. 20016 480 inlägg
#5

Jag har nu det här överst i alla filer, men jag loggas fortfarande ut efter ca: 24 min.

:(

ini_set('session.gc_maxlifetime', "43200");
ini_set('session.cookie_lifetime', "43200");
Medlem sedan apr. 2009433 inlägg
#6

Är det alltid 24 min?

Jag fick lära mig att dom har lastbalansering vilket gör att servern tappar cookien mellan de olika servrarna..

Medlem sedan apr. 20117 inlägg
#7

Har du läst den första "note" rutan om gc_maxlifetime, kan inte vara så att den spökar? Borde du kunna se med "phpinfo" och kolla på värdet "session.save_path".

Happy Days
//Mr.1Buying

Medlem sedan nov. 2006188 inlägg
#8

Prova med

Den där är för 15 minuter
session_cache_expire(15);
$cache_expire = session_cache_expire();

Den där är för 100 minuter
session_cache_expire(100);
$cache_expire = session_cache_expire();

Som ett exempel.

258 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)