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 — Önbelleğe alınan oturumun ömrünü döndürür
Açıklama
$yeni_önbellek_ömrü
] )session_cache_expire() işlevi, session.cache_expire yönergesinin değerini döndürür.
Bu değer, isteğin başlangıcında session.cache_expire yönergesinin 180 dakikalık öntanımlı değeriyle sıfırlanır. Bu bakımdan her istek için session_start() çağrısından önce bir session_cache_expire() çağrısı yapmanız gerekir.
Değiştirgeler
-
yeni_önbellek_ömrü -
Belirtilmişse önbellekli oturumun ömrü bu değere ayarlanır.
Bilginize:
yeni_önbellek_ömrüdeğeri, sadece session.cache_limiter yönergesine nocache'den farklı bir değer atanmışsa eski değerle değiştirilir.
Dönen Değerler
session.cache_expire yönergesinin değerini dakika cinsinden döndürür. Öntanımlı değer 180 dakikadır.
Örnekler
Örnek 1 - session_cache_expire() örneği
<?php
/* önbellek sınırlayıcıya 'private' atayalım */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* önbellek ömrünü 30 dakika yapalım */
session_cache_expire(30);
$ömür = session_cache_expire();
/* oturumu başlatalım */
session_start();
echo "Önbellek sınırlayıcıya $cache_limiter kipi atandı.<br />";
echo "Önbellekteki sayfalar $ömür dakika sonra zaman aşımına uğrayacak";
?>
Ayrıca Bakınız
- session.cache_expire
- session.cache_limiter
- session_cache_limiter() - Geçerli önbellek sınırlayıcısını döndürür ve/veya tanımlar
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.
