Bonjour à tous.

Je me casse la tête sur un problème concernant la durée de vie de mes sessions. Mon but est de passer des 24 minutes fixées par défaut par session.gc_maxlifetime à 4 heures.

Le site étant hébergé en mutualisé, je n'ai pas la possibilité de changer php.ini.

1ère tentative :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
ini_set('session.save_path',$_SERVER['DOCUMENT_ROOT'] . '/../repdestockage');
ini_set('session.cache_expire',4 * 60);
ini_set('session.cache_limiter','none');
ini_set('session.cookie_lifetime',4 * 3600);
ini_set('session.gc_maxlifetime',4 * 3600);
session_start();
Alors c'est super, les paramètres sont à priori pris en compte (test avec ini_get) MAIS quand, en local, je vois effectivement apparaître mes jolis fichiers de sessions dans le rep choisi, sur le serveur mutualisé le répertoire reste vide, que ce répertoire soit placé dans le rep public du site ou dans un niveau inférieur (avec 777 comme droits sur le rep). Et, évidemment, mes variables de sessions sont écrasées au bout de 24 minutes...

2ème tentative :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
// inclusion des fonctions perso de gestion des sessions
ini_set('session.save_handler','user');
session_set_save_handler('_open','_close','_read','_write','_destroy','_gc');
session_start();
La voici, la voilà, la gestion personnalisée des sessions (j'ai essayé avec ou sans une classe) qui se sert d'une base mysql.

En local, aucun problème, sur le serveur mutualisé, la directive session_set_save_handler me renvoit false...

Je pense que j'ai essayé les deux alternatives possibles pour contourner le fait de ne pas pouvoir toucher à php.ini... Le plus énervant est que cela marche en local et pas sur le serveur mutualisé. Il pourrait sans doute s'agir de sa version de PHP... Je vous donne les infos de ce serveur, si quelqu'un a une suggestion, je suis preneur !

Merci à tous,
dbass.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
PHP Version 4.2.2 
 
System Linux sylvester.devel.redhat.com 2.4.20-2.41smp #1 SMP Sun Feb 9 09:29:47 EST 2003 i686 athlon i386 GNU/Linux 
Session Support enabled 
 
Directive Local Value Master Value 
session.auto_start
 On On 
session.cache_expire
 240 180 
session.cache_limiter
 none nocache 
session.cookie_domain
 no value no value 
session.cookie_lifetime
 14400 0 
session.cookie_path
 / / 
session.cookie_secure
 Off Off 
session.entropy_file
 no value no value 
session.entropy_length
 0 0 
session.gc_maxlifetime
 14400 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
 /var/www/html/web/rep/www/toto/../toto_data/tmp /tmp 
session.serialize_handler
 php php 
session.use_cookies
 On On 
session.use_trans_sid
 1 1