Foros del Web » Programando para Internet » PHP »

Sesiones

Estas en el tema de Sesiones en el foro de PHP en Foros del Web. Hola amigos, saben que es lo que pasa con el archivo de sesion que se crea en el servidor cuando se finaliza el tiempo de ...
  #1 (permalink)  
Antiguo 16/09/2003, 17:14
 
Fecha de Ingreso: agosto-2001
Ubicación: Lima
Mensajes: 123
Antigüedad: 22 años, 7 meses
Puntos: 0
Sesiones


Hola amigos, saben que es lo que pasa con el archivo de sesion que se crea en el servidor cuando se finaliza el tiempo de inactividad... se elimina automaticamente? donde hay que configurar esta opcion??
Supuestamente mi tiempo de sesion es de 3 horas,pero cuando pasa este tiempo finaliza este, el archivo de sesion aun permanece en el servidor.
Alguien sabe al respecto??
Muchas gracias.
__________________
***************
Marivi
***************
  #2 (permalink)  
Antiguo 17/09/2003, 07:33
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 2 meses
Puntos: 0
Lo que se me ocurre que puedes hacer es comprobar si el visitante esta conectado utilizando
Código PHP:
connection_aborted () 
que da verdadero si el visitante esta desconectado y si lo esta destruir la session con
Código PHP:
session_destroy() 
Quiza te esté liando mas que ayudar pero yo tambien estoy aprendiendo, te aconsejo que leas el apartado referente a las sesiones del manual oficial de PHP en:
http://es.php.net/manual/es/ref.session.php
y tambien
http://es.php.net/session_destroy

http://es.php.net/connection_aborted
Un Saludo
__________________
Hay tanto que aprender y tan poco tiempo
  #3 (permalink)  
Antiguo 17/09/2003, 07:43
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Recomendacion: mirad el manual en ingles, que esta mas completo y actualizado. Mirad lo que pone http://es.php.net/manual/en/ref.session.php :
Cita:
session.gc_maxlifetime integer
session.gc_maxlifetime specifies the number of seconds after which data will be seen as 'garbage' and cleaned up.

Note: If you are using the default file-based session handler, your filesystem must keep track of access times (atime). Windows FAT does not so you will have to come up with another way to handle garbage collecting your session if you are stuck with a FAT filesystem or any other fs where atime tracking is not available.
Si tu servidor es windows con FAT, pues creo que no se eliminan los ficheros.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 17/09/2003, 18:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
mm Yo uso Windows 98 con FAT32 .. y .. bueno, ajustando bien los parámetros (directivas) del "garbage":

session.gc_probability

en conjunto con las directivas mencionadas por Josemi .. Sí que borra lor archivos de sesiones creados.

Pero, sólo recordar que session.gc_probability se expresa en "porcentaje" (desde PHP 4.3.0 existe tambien session.gc_divisor ) así que ..si no realizas muchas ejecuciones de session_start() (inicio de sesiones) y tienes un porcentaje bajo en dicha directiva .. nunca veras que fisicamente se borran dichos archivos de sesión creados.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 18/09/2003, 11:34
 
Fecha de Ingreso: agosto-2001
Ubicación: Lima
Mensajes: 123
Antigüedad: 22 años, 7 meses
Puntos: 0
Linux

Gracias a todos por sus obsevaciones, pero uso linux. Lo cierto es que tengo ya varias aplicaciones en las cuales a través de la funcion sesion_save_path defino el lugar donde se guardaran las sesiones ... efectivamente pasado el tiempo seteado en el php.ini son eliminados, pero ahora en una nueva aplicacion no sucede ello. He seguido los mismos pasos anteriores, pero el archivo no se elimina.....por eso les hacia esa consulta .... no se que otras consideraciones tendria que tener
Gracias otra vez.
__________________
***************
Marivi
***************
  #6 (permalink)  
Antiguo 18/09/2003, 13:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Si dices que el directorio donde guardas las sesiones .. es definido por tí (bajo la función que mencionas) .. Asegurate que tengas permisos de lectura/escritura/ejecución ..

Si en general te funcionan las sesiones en esa aplicación .. no debería ser esto, pero ... revisalo. Tal vez el S.O. no pueda entrar a ese directorio a borrar esos archivos.

Por otro lado ..algo leí en php.net (sección sesiones) sobre la "profundidad" (ramas) de directorios en las que no tiene efecto el "garbage" .. Tal vez tengas muchas sub-ramas desde el raiz (root) ..

FIjate en este detalle:

Cita:
There is an optional N argument to this directive that determines the number of directory levels your session files will be spread around in. For example, setting to '5;/tmp' may end up creating a session file and location like /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If . In order to use N you must create all of these directories before use. A small shell script exists in ext/session to do this, it's called mod_files.sh. Also note that if N is used and greater than 0 then automatic garbage collection will not be performed, see a copy of php.ini for further information. Also, if you use N, be sure to surround session.save_path in "quotes" because the separator (;) is also used for comments in php.ini.
En el parámetro opcional .. indica el número de ramas que está el directorio ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 18:56.