Foros del Web » Programando para Internet » PHP »

Ayuda para eliminar una session caducada

Estas en el tema de Ayuda para eliminar una session caducada en el foro de PHP en Foros del Web. Quisiera saber cual es la solucion para que PHP elimine automaticamente una session ya caducada por ejemplo modifico el valor de probability a 100 y ...
  #1 (permalink)  
Antiguo 12/11/2005, 08:24
 
Fecha de Ingreso: octubre-2005
Mensajes: 85
Antigüedad: 18 años, 5 meses
Puntos: 0
Ayuda para eliminar una session caducada

Quisiera saber cual es la solucion para que PHP elimine automaticamente una session ya caducada por ejemplo

modifico el valor de probability a 100 y y tiempo maximo a 300 para que la session caduque pasado 5 minutos pero la session que se guarda en la carpeta tmp no se elimina pasado los 5 minutos inactividad, como podria hacer para que se elimine, agradecere un rpta URGENTE
  #2 (permalink)  
Antiguo 12/11/2005, 10:59
Avatar de c4r1o5  
Fecha de Ingreso: febrero-2005
Mensajes: 81
Antigüedad: 19 años, 1 mes
Puntos: 1
Talvez esto te pueda servir. De cualquier forma puedes leer la documentacion de PHP referente a sesiones si tienes alguna otra duda.

Código PHP:
<?php
function DeleteSessionID($sessionid) {
  
$orgpath getcwd();
  
chdir(PHP_BINDIR);
  
chdir(session_save_path());
  
$path realpath(getcwd()).'/';
  if(
file_exists($path.'sess_'.$sessionid)) {
    
// Borra la sesión
    
unlink($path.'sess_'.$sessionid);
  } else {
    
// La sesión no se encuentra
  
}
  
chdir($orgpath);
}
?>
__________________
¿Que importa el resto?, el resto es simplemente la humanidad, hay que ser superior a humanidad, por fuerza, por altura de alma, por desprecio ...
  #3 (permalink)  
Antiguo 14/11/2005, 07:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por soonye
Quisiera saber cual es la solucion para que PHP elimine automaticamente una session ya caducada por ejemplo

modifico el valor de probability a 100 y y tiempo maximo a 300 para que la session caduque pasado 5 minutos pero la session que se guarda en la carpeta tmp no se elimina pasado los 5 minutos inactividad, como podria hacer para que se elimine, agradecere un rpta URGENTE
Justamente ... ese "probability" dice que cada N ejecuciones de session_Start() que se hagan (en ese porcentaje) así se irán borrando los archivos de sesión que estén clasificados como "garbage" (basura), es decir, las sesiones que ya expiraron, pasan a ese estado a la espera de su borrado definitivo como archivo.

Un saludo,
  #4 (permalink)  
Antiguo 14/11/2005, 07:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por c4r1o5
Talvez esto te pueda servir. De cualquier forma puedes leer la documentacion de PHP referente a sesiones si tienes alguna otra duda.

Código PHP:
<?php
function DeleteSessionID($sessionid) {
  
$orgpath getcwd();
  
chdir(PHP_BINDIR);
  
chdir(session_save_path());
  
$path realpath(getcwd()).'/';
  if(
file_exists($path.'sess_'.$sessionid)) {
    
// Borra la sesión
    
unlink($path.'sess_'.$sessionid);
  } else {
    
// La sesión no se encuentra
  
}
  
chdir($orgpath);
}
?>
La mayoría de configuraciones de PHP no permiten acceder al directorio donde PHP almacena las sesiones, sobre todo cuando se refieren al "/tmp" o directorios de sistemas.

Una manera de solventar esto sería forzar a PHP a que almacene las sesiones en el directorio que uno especifique (y que se tenga control/permisos de acceso) vía uso de la función session_save_path().

Un saludo,
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 16:53.