no estoy deacuerdo con lo que dice xSkArx por que el tiempo de vida de la sesion esta sujeta a la configuracion de php.ini
session.gc_maxlifetime es el encargado de expecificar (Como dice xSKArx) que session tiene que ser tratada como basura, pero esta sujeto a los valores de session.gc_probability y de session.gc_divisor.
Por el contrario si usas session.cache_expire podras cambiar el valor sin ningun otro cambio, por defecto tiene un valor de 180 minutos.
Lo de las cookies no es necesario, pues las sessiones usan una cookie para definir los valores.
Nota:
Si usas no-cache, este cambio no tendra efecto.
si quieres hacerlo desde el script PHP seria:
Código PHP:
<?php
session_cache_expire(30); // Tiempo de vida de la session en minutos
$cache_expire = session_cache_expire();
session_start(); // Es indispensable iniciar sesion despues de definir el tiempo de vida de la session
echo "The cache limiter is now set to $cache_limiter<br />";
echo "The cached session pages expire after $cache_expire minutes";
?>