Sería con la combinación:
Propagar el SID en cookies:
session.use_trans_sid = o
session.use_only_cookies = 1
session.use_cookies = 1
Y ajustando el tiempo de vida de la cookie que PHP creará para propagar el SID y el tiempo de vida:
session.session_cookie_lifetime = ...
También se puede ajustar por función:
session_cookie_paramts()
más info:
www.php.net/session
Esto lo único que hará es que pierdas el SID (la relación o referencia del cliente con los datos de la sesión en el servidor) .. pero la sesión realmente no se eliminará, estará viva hasta que session.gc_maxtimelife defina. Es decir .. podría retomar la sesión si creo una cookie con el mismo SID que tenía antes ... Por eso para complicarlo un poco más .. por lo menos se fuerza a propagar el SID por cookies, por qué si lo dejas por el URL ya lo dejas extremadamente simple retomar una sesión que todavía esté activa pese que el SID que propagases en cookies ya no la tuvieras en el cliente (navegador). Este tipo de cookies con valor "0" de tiempo de vida les llaman cookies de "sesión" por si quieres ver más infor al respecto.
Lo "malo" de este método es que sigues sin tener control por parte de tu aplicación cuando "cerró" el cliente el navegador como para matar tu mismo la sesión y ejecutar otros procesos que hagas al matar tus sesiones (log´s con fecha/hora de salida de tu sistema .. etc).
Un saludo,