Ciao a tutti, ho già letto diverse discussioni sull'argomento ma a quanto pare non riesco a trovare soluzione, probabilmente sbaglio qualcosa io.
Sto lavorando su un sito in cui ho inserito le sessioni per gli utenti che si loggano.
Nelle pagine viene incluso ad inizio pagina un file php che contiene:
codice:
ini_set ('session.gc_maxlifetime', '3600');
ini_set ('session.cookie_lifetime', '3600');
ini_set('max_execution_time', '300');
ini_set('max_input_time', 170);
ini_set("memory_limit",'128M');
session_start(); //inizio la sessione
session_regenerate_id(); //rigenera l'id per evitare session fixation
setcookie("cookie_test", "cookie_value", time()+3600);
Solo che quando si logga un utente, la sessione gli dura "molto" meno dei 3600 secondi impostati.
Sapete darmi una mano, per capire dove sta il problema? Ringrazio in anticipo chiunque risponda.
"Forse"
bisogna cambiare la cartella in cui salva di default la sessione con ini_set("session.save_path","/web/htdocs/www.miodominio.com/home/tmp/");
perchè magari Aruba gestisce la temp in modo condiviso e perciò vale il tempo massimo impostato da loro (es. 10 min), raggiunto il quale vengono cancellate tutte le sessioni che sono inattive da più di 10 minuti, ignorando il dominio a cui tali sessioni appartengono.... ora sto provando.. vediamo.
Il sito è in hosting su Aruba e eseguendo phpinfo, i dati sulla sessione mostrati sono i seguenti:
codice:
session
Session Support |
enabled |
Registered save handlers |
files user sqlite |
Registered serializer handlers |
php php_binary wddx |
Directive |
Local Value |
Master Value |
session.auto_start |
Off |
Off |
session.bug_compat_42 |
Off |
Off |
session.bug_compat_warn |
Off |
Off |
session.cache_expire |
180 |
180 |
session.cache_limiter |
nocache |
nocache |
session.cookie_domain |
no value |
no value |
session.cookie_httponly |
Off |
Off |
session.cookie_lifetime |
3600 |
0 |
session.cookie_path |
/ |
/ |
session.cookie_secure |
Off |
Off |
session.entropy_file |
no value |
no value |
session.entropy_length |
0 |
0 |
session.gc_divisor |
1000 |
1000 |
session.gc_maxlifetime |
3600 |
1440 |
session.gc_probability |
1 |
1 |
session.hash_bits_per_character |
5 |
5 |
session.hash_function |
0 |
0 |
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 |
On |
On |
session.use_trans_sid |
0 |
0 |