WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   session.save_path (https://www.wn.se/forum/showthread.php?t=1040924)

robincox 2010-03-12 10:17

session.save_path
 
Jag har skapat en ny mapp som session data ska sparas i som heter sessdata, den ligger i samma mapp som min .htaccess fil finns.

I .htaccess har jag skrivit följande:

php_value session.save_path "sessdata/"
php_value session.gc_maxlifetime "10800"

Allt verkar funka men eftersom jag inte direkt är en expert på det här området så har jag ingen aning om session.save_path funkar, att informationen om min session sparas i min nya mapp istället för den vanliga /tmp

Har jag gjort rätt?

najk 2010-03-12 10:52

du kan titta i mappen och se om det kommer några sessionfiler där i.

robincox 2010-03-12 11:06

Citat:

Ursprungligen postat av najk (Inlägg 20345946)
du kan titta i mappen och se om det kommer några sessionfiler där i.

Ja det sparas en fil där som verkara vara en session så då funkar session.save_path

Men php_value session.gc_maxlifetime verkar inte funka för även om jag sätter den på 10 sekunder så håller sessionen långt mycket längre, vad är det för fel tro?

Tackar för ditt hjälpsamma svar!

emilv 2010-03-12 11:42

gc_maxlifetime är den tid sessionen som minst ska bli innan den raderas
den raderas dock först när garbage collectorn körs. Den körs efter en avslutad sidladdning, med en sannolikhet som baseras på värdena session.gc_probability och session.gc_divisor
Standard är att rensa sessioner på i genomsnitt var hundrade sidladdning. Sätt båda värdena till 1 så rensas sessioner ut efter varje sidladdning, eller spara tiden för senaste sidladdning i en egen sessionsvariabel och lös problemet programmatiskt.

robincox 2010-03-12 11:54

Citat:

Ursprungligen postat av emilv (Inlägg 20345964)
gc_maxlifetime är den tid sessionen som minst ska bli innan den raderas
den raderas dock först när garbage collectorn körs. Den körs efter en avslutad sidladdning, med en sannolikhet som baseras på värdena session.gc_probability och session.gc_divisor
Standard är att rensa sessioner på i genomsnitt var hundrade sidladdning. Sätt båda värdena till 1 så rensas sessioner ut efter varje sidladdning, eller spara tiden för senaste sidladdning i en egen sessionsvariabel och lös problemet programmatiskt.

Jo det hände grejjer när jag satte 1 på de båda, tusen tack. Jag satte följande inställningar för att testa:

php_value session.gc_maxlifetime 10
php_value session.gc_probability 1
php_value session.gc_divisor 1

Så att sessionen skulle upphöra efter 10 sekunder. Det som hände om man väntade med att ladda om sidan i minst 10 sekunder så fungerade sessionen ändå men upphörde vid nästa sidladdning. Det funkar ju bra det här men varför upphör inte sessionen på den första sidladdningen då man har väntat mer än 10 sekunder?

emilv 2010-03-12 12:11

Som sagt, den rensas först när sidladdningen är klar.

najk 2010-03-12 12:11

Citat:

Ursprungligen postat av robincox (Inlägg 20345967)
varför upphör inte sessionen på den första sidladdningen då man har väntat mer än 10 sekunder?

Citat:

Ursprungligen postat av emilv (Inlägg 20345964)
den raderas dock först när garbage collectorn körs. Den körs efter en avslutad sidladdning

Emil svarade väl på frågan innan? Du behöver ju ladda sidan en gång för att få en session samma anrop kan ju inte radera sessionen om du inte kör session_destroy()

robincox 2010-03-12 12:32

Ja självklart, då förstår jag. Tusen tack för eran hjälp!


Alla tider är GMT +2. Klockan är nu 18:27.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson