Avatar billede learner Praktikant
16. juli 2005 - 12:37 Der er 12 kommentarer og
1 løsning

session skal holde i længere tid. Hvordan?

Hej, jeg vil gerne at mine sessions holder længere tid. Jeg tror de holder 5 minutter nu. Og det er alt for kort tid. Jeg ville gerne feks have 2 timer eller lign. Kan det ændres? Hvordan?

På forhånd tak :o)
Avatar billede mysli Nybegynder
16. juli 2005 - 12:41 #1
Sessions skulle gerne holde indtil vinduet bliver lukket eller de slettes.
Avatar billede learner Praktikant
16. juli 2005 - 12:52 #2
Det gør de ik :o)
Avatar billede Slettet bruger
16. juli 2005 - 13:23 #3
kig lidt i php.ini der har jeg set nogle indstillinger fra tid til anden.
Men jeg vil dog også mene at en session burde holde til browseren lukkes ned.
Avatar billede ksoren Nybegynder
16. juli 2005 - 14:58 #4
Den lever ikke så længe browseren er åben, men indtil serveren beslutter sig for at slette den :)
Avatar billede learner Praktikant
16. juli 2005 - 15:16 #5
Ok, jeg har ik adgang til php.ini så vidt jeg ved. Men jeg kan ini_set(et eller andet)
Er det måden på det?
Avatar billede learner Praktikant
17. juli 2005 - 01:38 #6
Dette hjalp mig:
$host = strtolower(str_replace("www.","",$_SERVER["HTTP_HOST"]));
ini_set("session.cookie_domain",".".$host); // denne gør at session virker ligegodt om http://www. eller bare http:// (et problem jeg havde)
ini_set('session.gc_maxlifetime', '50000'); // (sekunder) sættes vildt højt, for problemet er højst sandsynligt at serverens og brugerens tid er forskellige
// og det skal indsættes før session_start();

Fandt det på engelsk et sted via google.
Jeg har ik testet om der er nogle bivirkninger!
Skriv endelig hvis du kender noge bivirkninger eller noget jeg skal være obs på :o)

Tak :o)
Avatar billede learner Praktikant
30. juli 2005 - 16:19 #7
Argh, de er stdig noget hø nu og da.
Mine sessions holder ikke så længe winduet er åbnet. Det skulle de ellers. Er der nogen der ved hvad jeg kan gøre ved det?
Avatar billede learner Praktikant
31. juli 2005 - 15:35 #8
Underligt! Sessions udløber meget hurtigere i Explorer end i Mozilla.
Avatar billede learner Praktikant
12. august 2005 - 08:50 #9
Jeg synes ikke rigtigt at denne virker:
ini_set('session.gc_maxlifetime', '50000');

Er der en max-værdi?
feks 50000 eller noget?

Jeg prøvede nemlig at sætte den til 100000 og så varede sessions kortere tid end 50000 (tror jeg nok, men jeg er ik sikker)

Nogen der er haj i det her session levetids-halløj?

Tak :o)
Avatar billede Slettet bruger
12. august 2005 - 10:10 #10
I følge zend, er session.gc_maxlifetime den tid der skal gå fra sessionen sidst blev tilgået og til den skal slettes.

Zend skriver følgende:
(udpluk fra, http://www.zend.com/zend/tut/session.php)


"    * You can use the gc_maxlifetime configuration directive to determine how long after the last access to this session the data should be destroyed. This is used because the server doesn't know whether the cookie still exists on the client side. However, performing such a cleanup of old sessions (called "garbage collection") on every page request would cause considerable overhead. Therefore, in tangent with the gc_maxlifetime, you should use gc_probability. This specifies with what probability the garbage collection routine should be invoked. If gc_probability is 100, the cleanup is performed on every request (that is, with a probability of 100%); if it's 1 as by default, old sessions will be removed with a probability of 1% per request.

If you don't use cookies but pass the session ID via GET or POST instead, you need to pay special attention to the garbage collection routines. Users might bookmark URLs containing the session ID, so you need to make sure that sessions are cleared frequently. If the session data still exists when the user accesses the page with the session ID at a later time, PHP simply resumes the previous session instead of starting with a new session, which may not be your intention. A value of 10 to 20 for gc_probability would better fit this scenario than the default value of 1.

Tips
You might ask yourself why PHP allows you to specificy a probability (gc_probability) which determines when garbage collection will occur, rather than a function which cleans up every n times. If PHP used a counting function, the server would need to track the number of opened sessions somehow. Using the probability function means that the server does not have to store counters for cleanup, which translates to cleaner and faster execution. "
Avatar billede learner Praktikant
12. august 2005 - 11:12 #11
Tak for dit gode indlæg :o)
Kigger på det senere.

Jeg betragter det som et gyldigt svar på mit spørgsmål.
Du kan smide et svar og få point :o)

Tak :o)
Avatar billede Slettet bruger
12. august 2005 - 12:06 #12
Håber du får det til at virke :)
Avatar billede learner Praktikant
12. august 2005 - 12:08 #13
Det er jeg sikker på, med den fine hjælp ovenover :o)
Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester