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 — Retorna o prazo do cache atual
Descrição
$new_cache_expire
] )session_cache_expire() retorna a atual configuração de session.cache_expire.
O prazo para o cache expirar e retornado ao padrão de 180 minutos guardado em session.cache_limiter no inicio do script. Então você precisa usar session_cache_expire() para cada requesição (e antes que session_start() seja utilizada).
Parâmetros
-
new_cache_expire -
Se
new_cache_expireé dado, o cache atual é modificado pornew_cache_expire.Nota: Defina o valor de
new_cache_expire, somente se session.cache_limiter é definido como um valor diferente de nocache.
Valor Retornado
Retorna a configuração atual de session.cache_expire. O valor retornado deve ser lido em minutos, padrão para 180.
Exemplos
Exemplo #1 Exemplo da session_cache_expire()
<?php
/* Define o limitador de cache para 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* Define o limite de tempo do cache em 30 minutos */
session_cache_expire(30);
$cache_expire = session_cache_expire();
/* Inicia a sessão */
session_start();
echo "O limitador de cache esta definido agora como $cache_limiter<br />";
echo "As sessões em cache irão expirar em $cache_expire minutos";
?>
Veja Também
- session.cache_expire
- session.cache_limiter
- session_cache_limiter() - Obtém e/ou define o limitador do cache atual
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.
