Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/06/2005, 04:55
Avatar de skaperna
skaperna
 
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 84
Antigüedad: 19 años, 1 mes
Puntos: 1
Busqueda Sesiones, ese misterioso mundo

Hola a todos, mi problema con las sesiones es el siguiente: tengo unas variables de sesión definidas, que funcionan perfectamente durante 24 minutos, después de ese tiempo, se pierde el valor.

Buscando, encontré que era debido a que en el php.ini, por defecto, session.gc_maxlifetime está a 1440 segundos (24 minutos). Perfecto, hago un

Código PHP:
ini_set("session.gc_maxlifetime","7200"); 
y cambio la configuración a 7200 segundos... (y el cambio se hace bien, lo comprobé con un echo) pero al cabo de 24 minutos se siguen perdiendo los valores de las variables!!!

La página inicial de declaración de variables contiene el siguiente código al inicio de la página:

Código PHP:
session_start();
ini_set("session.gc_maxlifetime","7200");
$_SESSION['gestor_valor']=$valor;
$_SESSION['gestor_name']=$name
y en las siguientes páginas tengo este otro, aunque en algunas no utilice las variables de sesión definidas.

Código PHP:
session_start();
ini_set("session.gc_maxlifetime","7200"); 
Leí, que a cada petición del servidor las opciones vuelven a ponerse en sus valores por defecto, por eso pongo el ini_set en todas las páginas.

Ahora bien, es necesario el session_start?? se debe poner otra cosa?? Para más información, diré que la sesión no se pierde, solo el valor de las varibales pq si miro el session_id(), me da su correspondiente id.

Alguien tiene alguna idea de lo que pasa??? Añado la configuración del php.ini... aunque, creo que está todo bien...

Código PHP:
PHP Version 4.3.10

session

Session Support                            enabled 
Registered save handlers                 files user 

Directive                              Local Value    Master Value
session
.auto_start                         Off       Off
session
.bug_compat_42                    On           On
session
.bug_compat_warn                    On         On
session
.cache_expire                       180            180
session
.cache_limiter                     nocache    nocache
session
.cookie_domain                   no value    no value
session
.cookie_lifetime                      0               0
session
.cookie_path                         /             /
session.cookie_secure                        Off     Off
session
.entropy_file                      no value    no value
session
.entropy_length                     0               0
session
.gc_divisor                          100               100
session
.gc_maxlifetime                      1440            1440
session
.gc_probability                         1               1
session
.name                            PHPSESSID    PHPSESSID
session
.referer_check               no value    no value
session
.save_handler                   files              files
session
.save_path                         /tmp              /tmp
session
.serialize_handler                php                php
session
.use_cookies                   On               On
session
.use_only_cookies              Off             Off
session
.use_trans_sid                 On                On 
Sé que el contenido de este mensaje no es nuevo, pero necesito saber si no funciona pq no se puede hacer, o pq yo lo estoy haciendo mal... así haré cambios según sea una o otra cosa...

Gracias de verdad...
Skaperna
__________________
La sangre son las lágrimas del alma...