Foros del Web » Programando para Internet » PHP »

Eliminar sesiones inactivas

Estas en el tema de Eliminar sesiones inactivas en el foro de PHP en Foros del Web. Hola, Como todos sabéis cuando creamos sesiones estas se crean en el servidor, ocupando espacio y memoria (me imagino). Entonces estoy casi seguro que cada ...
  #1 (permalink)  
Antiguo 26/09/2008, 10:51
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Eliminar sesiones inactivas

Hola,

Como todos sabéis cuando creamos sesiones estas se crean en el servidor, ocupando espacio y memoria (me imagino).

Entonces estoy casi seguro que cada vez que un usuario apaga el navegador habrá sesiones que se queden colgando... mi pregunta es si existe alguna forma de controlar las sesiones que se quedan abiertas, inactivas...

Gracias
  #2 (permalink)  
Antiguo 26/09/2008, 11:10
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Eliminar sesiones inactivas

Hola

cuando cierran el navegador, que tenga entendido, se cierra automaticamente la sesion, y si quieres darle tiempo a una sesion

if ($_SESSION['tiempo'] > time()+segundos que definas como tiempo inactivo){
// sesión superado tiempo.
}
  #3 (permalink)  
Antiguo 26/09/2008, 13:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Eliminar sesiones inactivas

El motor de PHP se encarga de borrar las sesiones inactivas cada X tiempo, ve el parametro session.gc_maxlifetime, con ese controlas cuanto tiempo se quedan los archivos.

Saludos.
  #4 (permalink)  
Antiguo 26/09/2008, 15:17
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Eliminar sesiones inactivas

Cita:
Iniciado por GatorV Ver Mensaje
El motor de PHP se encarga de borrar las sesiones inactivas cada X tiempo, ve el parametro session.gc_maxlifetime, con ese controlas cuanto tiempo se quedan los archivos.

Saludos.
He encontrado esto en mi php.ini

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440

; NOTE: If you are using the subdirectory option for storing session files
; (see session.save_path above), then garbage collection does *not*
; happen automatically. You will need to do your own garbage
; collection through a shell script, cron entry, or some other method.
; For example, the following script would is the equivalent of
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; cd /path/to/sessions; find -cmin +24 | xargs rm

Entiendo que por defecto cuando defines una session del tipo...
$_SESSION['user_id']=$usuario_datos['ID'];
$_SESSION['user_login']=$usuario_datos['usuario'];
$_SESSION['user_password']=$usuario_datos['pass'];

No se guardaran en ningun subdirectorio como especifica la "NOTE" no?

Y se considera basura toda aquella sesion que haya pasado 24 min. que no se haya refrescado no?
Pero si durante la navegación de la página voy haciendo comprobaciones de si existe esa sessión imagino que se va renovando no?

Gracias.
  #5 (permalink)  
Antiguo 26/09/2008, 16:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Eliminar sesiones inactivas

En efecto, si ves un poco mas arriba te indica si quieres crear un subdirectorio para tu sesión, así que mejor dejalo así para que el garbage collection ocurra solo.

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 15:26.