Foros del Web » Programando para Internet » PHP »

gc_maxlifetime y session_destroy

Estas en el tema de gc_maxlifetime y session_destroy en el foro de PHP en Foros del Web. Hola, quise probar el parametro gc_maxlifetime y para eso segui estos pasos: 1.- cambie el parametro session.gc_maxlifetime a 10 2.- cree un primer script que ...
  #1 (permalink)  
Antiguo 11/06/2009, 15:13
 
Fecha de Ingreso: junio-2009
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta gc_maxlifetime y session_destroy

Hola, quise probar el parametro gc_maxlifetime y para eso segui estos pasos:

1.- cambie el parametro session.gc_maxlifetime a 10
2.- cree un primer script que inicia una sesion y registra 2 variables

sesion1.php:
<?php
session_start();

$_SESSION["var1"] = "valor1";
$_SESSION["var2"] = "valor2";
?>

3.- cree un segundo script que continua la sesion iniciada por sesion1.php e imprime el array $_SESSION

sesion2.php:
<?php
session_start();

echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>

Ejecuto sesion1.php y luego de 15 segundos (una cantidad de segundos mayor que el valor de gc_maxlifetime) ejecuto sesion2.php, con la intencion de que los datos de la sesion hayan sido borrados y no se encuentren mas en el array $_SESSION, pero me encuentro con que esos datos todavia existen.

De esto surge mi primer duda: los datos no tendrian que haber desaparecido despues de 10 segundos de haber iniciado la sesion? No sirve gc_maxlifetime para establecer el numero de segundos despues de los cuales los datos de la sesion son borrados?

Despues de esto, se me ocurrio agregar la funcion session_destroy al final de sesion2.php:

<?php
session_start();

echo "<pre>";
print_r($_SESSION);
echo "</pre>";

session_destroy();
?>

Ejecuto sesion2.php y dejo pasar los 15 segundos para volver a ejecutarlo; cuando hago esto, me encuentro con que los datos ya no existen!
Hago un par de pruebas y me doy cuenta que session_destroy borro los datos de la sesion cuando lo ejecute por 1era vez, es por eso que no aparecieron la 2da vez, pero lo mas curioso es que el SID sigue siendo el mismo, de lo que deduzco que esta funcion borro los datos de la sesion, pero no la sesion en si misma.

De esto surge mi segunda duda: no se supone que el SID deberia ser otro? No sirve session_destroy para destruir la sesion por completo?

Ojala alguien pueda ayudarme.

Saludos.
  #2 (permalink)  
Antiguo 13/06/2009, 13:09
 
Fecha de Ingreso: junio-2009
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: gc_maxlifetime y session_destroy

Todavia no he podido resolver estos 2 problemas, alguien podria ayudarme?

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:28.