Session lifetime
Hey,
Als ik in phpinfo() kijk op m'n localhost en op m'n server, lijken ze gelijk wat betreft sessions, maar op m'n localhost blijft ie veel langer ingelogd als op de server. Ik heb een nieuwsscript met inlog, en nou was iemand een nieuwsscript aan 't typen en bij 't toevoegen ineens uitgelogd.
Dit staat in beide phpinfo's :
session.gc_maxlifetime 1440 1440
Nou probeer ik dit:
ini_set('session.gc_maxlifetime',(1));
Dit zorg ervoor dat de session dan 1sec blijft bestaan? Dan werkt niet. Dit wil ik dan gebruiken om de session lifetime juist langer te maken.
Edit: Enige wat verschillend is is "session.gc_probability" op localhost staat ie op 1 en op server op 0, maar ook dan lijkt ie nog steeds niet zo te reageren als op de server. Localhost blijft gewoon ingelogd tot ik de browser sluit (zolang ik nu heb gewacht) en op de server stopt ie al met een half uur. Als ik lifetime moet geloven 24 minuten maar waarom dan op localhost niet.
Heb nu dit boven de admin:
ini_set('session.gc_probability',0);
ini_set('session.gc_maxlifetime',1);
En blijft nog steeds altijd ingelogd.
Als ik in phpinfo() kijk op m'n localhost en op m'n server, lijken ze gelijk wat betreft sessions, maar op m'n localhost blijft ie veel langer ingelogd als op de server. Ik heb een nieuwsscript met inlog, en nou was iemand een nieuwsscript aan 't typen en bij 't toevoegen ineens uitgelogd.
Dit staat in beide phpinfo's :
session.gc_maxlifetime 1440 1440
Nou probeer ik dit:
ini_set('session.gc_maxlifetime',(1));
Dit zorg ervoor dat de session dan 1sec blijft bestaan? Dan werkt niet. Dit wil ik dan gebruiken om de session lifetime juist langer te maken.
Edit: Enige wat verschillend is is "session.gc_probability" op localhost staat ie op 1 en op server op 0, maar ook dan lijkt ie nog steeds niet zo te reageren als op de server. Localhost blijft gewoon ingelogd tot ik de browser sluit (zolang ik nu heb gewacht) en op de server stopt ie al met een half uur. Als ik lifetime moet geloven 24 minuten maar waarom dan op localhost niet.
Heb nu dit boven de admin:
ini_set('session.gc_probability',0);
ini_set('session.gc_maxlifetime',1);
En blijft nog steeds altijd ingelogd.
Gewijzigd op 01/01/1970 01:00:00 door Michael -
Gesponsorde koppelingen:
Hey,
Volgens php.net (om precies te zijn in de comments bij: http://nl2.php.net/manual/en/function.session-cache-expire.php), kun je die setting veranderen door dit te doen:
Die 18000 zou dan gelijk staan aan 5 uur volgens dat bericht.
Volgens php.net (om precies te zijn in de comments bij: http://nl2.php.net/manual/en/function.session-cache-expire.php), kun je die setting veranderen door dit te doen:
Die 18000 zou dan gelijk staan aan 5 uur volgens dat bericht.
Gewijzigd op 01/01/1970 01:00:00 door Michel de Groot
Bedankt voor je reactie, heb 't nu zo: ini_set("session.gc_maxlifetime","10");
Dan zou je dus denken dat je er na 10sec uit wordt gegooid, maar dat gebeurt niet. Naar 10minuten inactief, ben ik nog steeds ingelogd.
Dan zou je dus denken dat je er na 10sec uit wordt gegooid, maar dat gebeurt niet. Naar 10minuten inactief, ben ik nog steeds ingelogd.
Het schijnt dat je het op elke pagina terug moet laten komen, anders hersteld hij de originele lifetime weer.
Je kun bekijken op wat hij stat ingesteld met:
Misschien dat je dan te zien krijgt of hij wel veranderd is, of dat hij misschien wel weer terug veranderd.
Je kun bekijken op wat hij stat ingesteld met:
Misschien dat je dan te zien krijgt of hij wel veranderd is, of dat hij misschien wel weer terug veranderd.
Weet ik. En hij verandert 't ook wel.
Probleem op server is dat als je een nieuwsbericht typt, en als dat langer dan langer dan 24minuten duurt en je klikt op "Toevoegen" moet je opnieuw inloggen en is het bericht weg. Om dit te voorkomen wil ik die tijd dus verlengen.
Maar op m'n localhost blijft ie altijd of in ieder geval uren ingelogd. Dus wat ik nu ook probeer is gewoon de admin pagina openen op m'n localhost. En dan wacht ik een halfuur o.i.d. en dan op toevoegen, en ik blijf ingelogd. Terwijl ie session naar 10sec zou moeten zijn afgelopen.
Dit zooitje staat nou bovenaan de pagina:
Output: LT:10 PROB:0
Iemand die weet wat ie laatste betekent? Op de server staat ie n.l. op 0 en op localhost op 1, vandaar dat ik nu even zo probeer.
Edit:typo's
Probleem op server is dat als je een nieuwsbericht typt, en als dat langer dan langer dan 24minuten duurt en je klikt op "Toevoegen" moet je opnieuw inloggen en is het bericht weg. Om dit te voorkomen wil ik die tijd dus verlengen.
Maar op m'n localhost blijft ie altijd of in ieder geval uren ingelogd. Dus wat ik nu ook probeer is gewoon de admin pagina openen op m'n localhost. En dan wacht ik een halfuur o.i.d. en dan op toevoegen, en ik blijf ingelogd. Terwijl ie session naar 10sec zou moeten zijn afgelopen.
Dit zooitje staat nou bovenaan de pagina:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
ini_set("session.gc_probability","0");
ini_set("session.gc_maxlifetime","10"); //3600*24*365
session_start();
set_time_limit(10);
$lifetime = ini_get('session.gc_maxlifetime');
$prob = ini_get('session.gc_probability');
echo 'LT:'.$lifetime.' PROB:'.$prob;
?>
ini_set("session.gc_probability","0");
ini_set("session.gc_maxlifetime","10"); //3600*24*365
session_start();
set_time_limit(10);
$lifetime = ini_get('session.gc_maxlifetime');
$prob = ini_get('session.gc_probability');
echo 'LT:'.$lifetime.' PROB:'.$prob;
?>
Output: LT:10 PROB:0
Iemand die weet wat ie laatste betekent? Op de server staat ie n.l. op 0 en op localhost op 1, vandaar dat ik nu even zo probeer.
Edit:typo's
Gewijzigd op 01/01/1970 01:00:00 door Michael -
En weer niemand een antwoord?
gebruik een optie "inglogt blijven" en doe dat met cookies...
Dat is mijn vraag niet. Ik wil geen cookies en het moet gewoon mogelijk zijn maxlifetime aan te passen.
-> http://www.captain.at/howto-php-sessions.php
-> http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability
-> http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
ini_set("session.gc_maxlifetime", "18000");
zou moeten werken... om te zien als het werkt:
echo ini_get("session.gc_maxlifetime");
anders zo mss:
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
session_cache_expire(30); //30 minuten
$cache_expire = session_cache_expire();
session_start();
echo...
zou moeten werken... om te zien als het werkt:
echo ini_get("session.gc_maxlifetime");
anders zo mss:
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
session_cache_expire(30); //30 minuten
$cache_expire = session_cache_expire();
session_start();
echo...
Gewijzigd op 01/01/1970 01:00:00 door Jeffrey Santy



