The manual probably doesn't stress this enough:
** This has nothing to do with lifetime of a session **
Whatever you set this setting to, it won't change how long sessions live on your server.
This only changes HTTP cache expiration time (Expires: and Cache-Control: max-age headers), which advise browser for how long it can keep pages cached in user's cache without having to reload them from the server.
session_cache_expire
(PHP 4 >= 4.2.0, PHP 5)
session_cache_expire — Retourne la configuration actuelle du délai d'expiration du cache
Description
$new_cache_expire
] )session_cache_expire() retourne la configuration actuelle de session.cache_expire.
Le délai d'expiration du cache est remis à sa valeur par défaut de 180, stockée dans session.cache_limiter, au démarrage de la requête. Par conséquent, vous devez appeler session_cache_expire() à chaque requête (et avant que session_start() ne soit appelée).
Liste de paramètres
-
new_cache_expire -
Si
new_cache_expireest fourni, la configuration actuelle de cache expire sera remplacée parnew_cache_expire.Note: La directive
new_cache_expiren'a de valeur que si session.cache_limiter a une valeur différente de nocache.
Valeurs de retour
Retourne la configuration courante de session.cache_expire. La valeur retournée doit être lue en minutes, et vaut par défaut, 180.
Exemples
Exemple #1 Exemple avec session_cache_expire()
<?php
/* Configure le limiteur de cache à 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* Configure le délai d'expiration à 30 minutes */
session_cache_expire(30);
$cache_expire = session_cache_expire();
/* Démarre la session */
session_start();
echo "Le limiteur de cache est maintenant fixé à $cache_limiter<br />";
echo "La session en cache va expirer après $cache_expire minutes";
?>
Voir aussi
- session.cache_expire
- session.cache_limiter
- session_cache_limiter() - Lit et/ou modifie le limiteur de cache de session
I've encountered the same problem of loosing focus when using IE and a javascript window.location.refresh/replace().
After fusing around I found that a <meta http-equiv="refresh" content="600"> works without move the focus on the parent frame's form. The down side is loading up the browser history and an annoying 'click' in IE on the page load.
What most people also don't know, is that most Linux distributions (Debian and Ubuntu for me atleast) have a cronbjob that cleans up your session dir using the value set in the global /etc/php5/php.ini (which defaults to 24mins). So even if you set a value larger in your scripts, the cronbjob will still cleanup sessions using the global value.
If you run into that situation, you can set the global value higher in /etc/php5/php.ini, disable the cronjob or even better, do your own session cleanup in a non-systemwide directory or a database.
