Avatar billede Mik2000 Professor
08. juli 2017 - 15:27 Der er 2 kommentarer og
3 løsninger

Session - holde dem i live

Hej
Jeg har et spørgsmål til sessions

Når jeg bruger dem så dør de efter en vis periode - både når der er aktivitet og når der ikke er aktivitet

Kan man undgå det (især når der er aktivitet)?

Hvordan gør man det
- fornyes de
- kan man sætte tid de gælder
- eller hvad skal man
Avatar billede olsensweb.dk Ekspert
08. juli 2017 - 15:37 #1
>- kan man sætte tid de gælder
ref https://stackoverflow.com/questions/156712/php-what-is-the-default-lifetime-of-a-session
Check out php.ini the value set for session.gc_maxlifetime is the ID lifetime in seconds.

I believe the default is 1440 seconds (24 mins)
http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime


https://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes
Avatar billede arne_v Ekspert
08. juli 2017 - 15:39 #2
Session boer ikke doe hvis der er aktivitet. Men det skal naturligvis vaere aktivitet som bruger den paagaeldende session.
Avatar billede Mik2000 Professor
08. juli 2017 - 21:03 #3
Tak for svar

Olsensweb:
Ja har fået den sat lidt op så der er lidt længere tid, men nogle ting af det jeg har kan tage lang tid f.eks. at udfylde.

Arne:
1: Det mente jeg også - men synes ikke det er tilfældet - vil understående eksempelvis tælle som aktivitet?
$test = $_SESSION["test"];
... og er det ikke det mindst krævende man lige kan lave med den?

Nogle foreslår kode a la nedenstående for at sikrer den ikke udløber hvis man ikke gør noget længe.
2: Er det en god eller dårlig løsning - hvis dårlig hvad kunne alternativ så være
3: Hvis man gør nedenstående og man f.eks. er på frontpage.php, og så kalder siden refreshSession.php hvor session bruges på, vil det så også sikrer den ikke løber ud på frontpage.php fordi session er på serveren, eller kører der noget lokalt der gør den stadig vil løbe ud?

var refreshTime = 600000; // every 10 minutes in milliseconds
window.setInterval( function() {
    $.ajax({
        cache: false,
        type: "GET",
        url: "refreshSession.php",
        success: function(data) {
        }
    });
}, refreshTime );
Avatar billede arne_v Ekspert
09. juli 2017 - 04:12 #4
Jeg mener at timeout er X minutter siden sidste session_start() kald.

Normalt will en JavaScript keep alive ikke vaere noedvendig.
Avatar billede Mik2000 Professor
09. juli 2017 - 12:28 #5
Tak for jeres svar

Jeg må prøve at se hvad det så kan skyldes
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

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