El session_start() da igual en que lugar de tu código "PHP" lo pongas siempre que sea antes de pretender acceder a una variable de sesión o usar alguna función concreta de sesiones como lo que veras a continuación ...
El caso que antes de tu session_start() NO debe de existir nada de HTML por delante .. (o cabeceras enviadas al navegador) ..
Destruir la sessión activa:
Código PHP:
<?
session_start(); // Para continuar con la sesión activa bajo el SID que le corresponda ...
session_destroy(); // Se destruye la sesión .. el SID actual pasa a modo "garbage" .. osease, a la basura .. ya no será válido ese SID ..
?>
Los "tiempos de expiración" no son comunes usarlos en sesiones "muriendo" la sesión al cerrar tu navegador (es lo más seguro) .. Pero si quieres "jugar" con el tiempo de expiración .. repasa las funciones:
session_cache_expire()
Y las directivas:
session.gc_maxlifetime junto con session.gc_probability (que puedes ajustalas en tiempo de ejecución vía funcion ini_set() ...)
Revisate el manual oficial de PHP .. sección Sesiones ahí tienes todos los método y funciones para trabajar con sesiones.
Un saludo,