Avatar billede steenolsen1 Nybegynder
22. november 2004 - 13:27 Der er 9 kommentarer og
1 løsning

Session timeout i PHP

Hej,

jeg er ved at bygge administrationsdel til et CMS system, og bruger sessions i forbindelse med login på systemet. Som standard er en session gyldig i 60 minutter, og dør således, hvis ikke der er aktivitet indenfor disse 60 minutter. Jeg har brug for at forlænge denne tid til f.eks. 3 timer - hvordan gør jeg det i PHP?

Steen
Avatar billede iss Novice
22. november 2004 - 13:32 #1
Mener faktisk det er 3 timer.... 180min....

session.cache_expire() kig efter den i manualen.
Avatar billede exp Juniormester
22. november 2004 - 13:36 #2
Avatar billede steenolsen1 Nybegynder
22. november 2004 - 13:56 #3
Har prøvet eksemplet på exp's link, hvor jeg har ændret expire til 1 minut, for dermed at kunne teste om $PHPSESSID nu virkelig også ændrer sig. Det gør det ikke, og dermed er der vel heller ikke tale om en timeout.

Kan I følge mig?
Avatar billede iss Novice
22. november 2004 - 14:10 #4
Nok fordi din session.cache_limiter står til nocache. For det virker.
Avatar billede steenolsen1 Nybegynder
22. november 2004 - 14:15 #5
Det kan selvfølgelig være, men dermed siger du sådan set også at jeg skal kunne ændre i opsætningen af serveren. Jeg har ikke adgang til konfigurationsfilen på mit webhotel - kunne du selvfølgelig ikke vide.
Avatar billede iss Novice
22. november 2004 - 14:19 #6
Kan sættes via session_cache_limiter().
Avatar billede steenolsen1 Nybegynder
22. november 2004 - 14:21 #7
Har prøvet det her:

<?php

/* set the cache limiter to 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* set the cache expire to 30 minutes */
session_cache_expire(1);
$cache_expire = session_cache_expire();

/* start the session */

session_start();

echo "The cache limiter is now set to $cache_limiter<br />";
echo "The cached session pages expire after $cache_expire minutes";
echo "<br />Sessionid = ";
echo $PHPSESSID;
?>

Og kan ikke få det til at virke. Sætter jo eller session_cache_limiter(). Gør jeg det forkert eller hvad?
Avatar billede steenolsen1 Nybegynder
22. november 2004 - 14:24 #8
/* set the cache expire to 30 minutes */
session_cache_expire(1);
$cache_expire = session_cache_expire();

expire sættes naturligvis ikke til 30 minutter, som i første linie, men 1
Avatar billede iss Novice
22. november 2004 - 15:43 #9
Har du ikke et andet webhotel du kan prøve det på? For her virker det som der står i manualen det skal.
Avatar billede steenolsen1 Nybegynder
23. november 2004 - 10:48 #10
Jeg skal lige være sikker på at vi snakker om det samme. Hvis du f.eks. sætter timeout sådan her: session_cache_expire(1); skifter din PHPSESSID så efter 1 minut?
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