Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/03/2008, 06:25
supratux
 
Fecha de Ingreso: diciembre-2006
Mensajes: 19
Antigüedad: 17 años, 4 meses
Puntos: 1
tiempo de vida de la sesión, gc_maxlifetime

Hola a todos, se me plantea el siguiente problema:

Tengo un script que inicia sesión forzando la configuración de PHP para que propage el SID por cookies de la siguiente forma:
Código PHP:
<?php
ini_set
("session.save_path"'session_data'); // Mi directorio de datos de sesión
ini_set("session.use_cookies"1); // Uso cookies
ini_set("session.use_only_cookies"1); // Sólo cookies
ini_set("session.cookie_lifetime"0); // Al cerrar el navegador se borra la cookie
// Vida en segundos de los ficheros de los datos en el server hasta que pasen a estado basura (0 al cerrar el navegador)
ini_set("session.gc_maxlifetime"0);
// Indico al recolector que pase un 100% para comprobar el tiempo de vida de los datos en el server
ini_set("session.gc_probability"100);
ini_set("session.gc_dividend"100);
session_start();
?>
De forma empírica he comprabado que con:
ini_set('gc_maxlifetime',0);
establece los datos como basura al 'instante', es decir que en cada recarga de la página 'sesion_start()' pasa el recolector de basura (ya que lo tengo configurado que pase el 100%) y me borra el fichero de datos del servidor.

¿Entonces gc_maxlifetime=0 no indica que pasen los datos a estado basura al cerrar el cliente el navegador?


Sería lo ideal que tanto la cookie del cliente como los datos del server se borrasen al cerrar el navegador y estuviesen sincronizados

Gracias.