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 — Devuelve la caducidad de la caché actual
Descripción
$new_cache_expire
] )session_cache_expire() devuelve la configuración actual de session.cache_expire.
La caducidad de la caché se reinicia al valor predeterminado de 180 almacenado en session.cache_expire en el momento de iniciar una petición. Por lo tanto, se necesita llamar a session_cache_expire() por cada petición (y antes de llamar a session_start()).
Parámetros
-
new_cache_expire -
Si se da
new_cache_expire, la nueva caducidad de la caché se reemplaza pornew_cache_expire.Nota: La configuración de
new_cache_expirees de valores sólamente, si session.cache_limiter se establece a un valor diferente de nocache.
Valores devueltos
Devuelve la configuración actual de session.cache_expire. El valor devuelto se debería leer en minutos, por defecto es 180.
Ejemplos
Ejemplo #1 Ejemplo de session_cache_expire()
<?php
/* establecer el limitador de caché a 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* establecer la caducidad de la caché a 30 minutos */
session_cache_expire(30);
$cache_expire = session_cache_expire();
/* iniciar la sesión */
session_start();
echo "El limitador de caché ahora está establecido a $cache_limiter<br />";
echo "Las páginas de sesión examinadas caducan después de $cache_expire minutos";
?>
Ver también
- session.cache_expire
- session.cache_limiter
- session_cache_limiter() - Obtener y/o establecer el limitador de caché actual
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.
