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