session_cache_expire
session_cache_expire($value)
Renvoie la durée en minutes que PHP envoie dans les en-têtes de cache (Expires, max-age) pour les pages avec session. Avec le paramètre, elle définit une nouvelle durée et renvoie celle d’origine. La valeur par défaut est de 180 minutes (session.cache_expire).
Paramètres
- $value – facultatif, la nouvelle durée en minutes. Elle s’applique à partir du session_start() suivant.
Exemples
echo session_cache_expire(); // 180
// la définition renvoie la valeur d'origine
echo session_cache_expire(30); // 180
echo session_cache_expire(); // 30
session_cache_expire(180);
// la durée n'est utilisée dans les en-têtes qu'avec le limiteur public ou private
$original = session_cache_limiter("private");
session_cache_expire(30);
session_start();
echo implode("", preg_grep("/^Cache-Control:/", headers_list())); // Cache-Control: private, max-age=1800
session_destroy();
header_remove();
session_cache_limiter($original);
session_cache_expire(180);
Points d’attention
- La durée n’est utilisée qu’avec le limiteur public, private ou private_no_expire (session_cache_limiter()). Avec nocache par défaut, les pages ne sont pas stockées du tout.
- Appelez-la avant session_start(). Pendant qu’une session tourne, elle affiche un avertissement et ne change pas la valeur.
- Elle n’a rien à voir avec la durée de validité de la session. Celle-ci se règle avec session.gc_maxlifetime et la durée de vie du cookie.
Fonctions associées :
session_cache_limiter()
session_start()
session_set_cookie_params()
header()