yo tuve ese problema recientemente, y este metodo fue el que me resulto :
1- en tu pagina donde valides el el acceso al sitio incluyes:
Código PHP:
session_start();
$_SESSION['tiempo']=time();
2- En cada pagina donde utilizo sesiones incluyo al principio "archivo.php" :
Código PHP:
<?php
session_start();
include('archivo.php');
.....
.....
?>
3 - y el contenido de archivo.php es:
Código PHP:
<?php
$segundos = 60 //si pasa este tiempo se detecta la inactividad del usuario en el sitio
if(($_SESSION['tiempo']+$segundos) < time()) {
echo'<script type="text/javascript">alert("Su sesion ha expirado por inactividad';
echo', vuelva a logearse para continuar");window.location.href="index.php";</script>';
}else
$_SESSION['tiempo']=time();
?>
Espero te sirva y si hay mas dudas, por aqui estaremos.