Lo que suele hacerse es poner una marca de tiempo en una variable de sesión, marcando cada acceso a una página protegida.
(por ejemplo, $_SESSION['ultimoAcceso'] = time() )
Luego, en cada nueva página solicitada, lo primero que tenés que hacer es revisar que no haya pasado demasiado tiempo:
if ( time() - $_SESSION['ultimoAcceso'] > 15*60 ) (15 minutos)
hay también algunas directivas en el php.ini que sirven para controlar la "vida" de la sesión, leé detenidamente la página correspondiente del manual:
http://php.net/session
Saludos