Llevo un buen rato peleandome con las sesiones y no soy capaz de que me caduquen.
Mi objetivo es hacer un carrito de la compra y que la sesión sólo dure mientras el usuario esta visitando la web
Para eso configuro el php.ini con la funcion ini_set de la siguiente manera:
Código PHP:
ini_set("session.cache_expire",0);
ini_set("session.gc_maxlifetime",0);
ini_set("session.use_cookies",0);
session_cache_limiter('nocache,private');
Código PHP:
session_name('mi_carro');
session_start();
Creo que con las tres primeras lineas de codigo se consigue que la sesion caduque cuando se cierra al ventana (no el navegador) pero no funciona. Cierro la ventana y abro una con '?mi_carro=ses_id' y la sesión sigue existiendo.
Tambien en probado a poner una duracion de sesion corta ini_set("session.cache_expire",5); pero pasados los 5 ¿segundos o minutos? la sesion sigue existiendo.
La función ini_set("session.cache_expire",5); funciona ya que cuando uso session_cache_expire () esta me muestra 5.
La sesion la propago por url manualmente ya que no tengo session.use_trans_sid a 1 y pq tampoco me caducaban bien las cookies.
Si alguien me puede ayudar, muchas gracias.