Existen varias formas de hacerlo, una de ellas es cambiar el valor en tiempo de ejecución, osea colocar el código directamente en la paginas sin tocar el PHP.INI y ese código solo sera aplicado a la sesión que ha sido creada y no a todas las que se creen en la aplicación.
EN EL ARCHIVO PHP.INI debes buscar la linea que tienes que buscar el campo que se llama session.gc_maxlifetime y cambiarle el valor (en segundos).
Otra forma puede ser establecer la duración en las cookies.
Puedes controlar el tiempo de una sesion poniendo esta linea ini_set("session.cookie_lifetime","36000"); pero tiene que ser la primera linea que aparezca, incluso antes de iniciar la sesion
Código PHP:
Ver original<?php
ini_set("session.cookie_lifetime","36000"); $_SESSION["ejemplo"]="invitado";
?>
Si ya quieres hacer cosas más elaboradas, puedes hacer que si ha pasado un tiempo determinado (una hora o lo que quieras) destruya la sesion.
Código PHP:
Ver original<?php
ini_set("session.cookie_lifetime","36000"); $_SESSION["time"] = time(); if (time() - $_SESSION["time"] < 3600) { echo 'no ha pasado una hora';
}else{
echo 'ha pasado mas de una hora';
}
?>