Eldy dit qu’ne cherchant sur le forum on trouve un post qui explique comment augmenter cette durée, je le trouve pas. Si quelqu’un peut m’aider ?
Par session, je veux dire le temps on l’on peut rester inactif, sans devoir se reloguer…
J’ai un peu cherché pour comprendre ce time-out, je peux me tromper mais il ne doit pas être pris en compte, du moins en 2.8.1.
Le source de la page de configuration « Sécurité » / « Divers » (…/security_other.php) montre qu’on positionne la variable MAIN_SESSION_TIMEOUT au nombre de secondes qu’on aura choisi.
Une recherche de MAIN_SESSION_TIMEOUT dans les .php de la distrib ne donne rien.
Une recherche de MAIN_SESSION_TIMEOUT sur le net renvoie sur cette page, et on y découvre ce code dans main.inc.php
Ca cause déjà un peu plus… On voit qu’on positionne la variable session.gc_maxlifetime à la valeur choisie.
Par défaut, sur mon install standard de php, session.gc_maxlifetime est à 1440", soit 24’.
Mais le code de main.inc.php de la 2.8.1 est, quant à lui :
ta page CVS de référence date un peu, de plus ce site ne nous appartiens pas…
c’est un aspirateur…
en fait MAIN_SESSION_TIMEOUT est récupéré au moment du login, dans la fonction « dol_loginfunction() » qui se trouve dans /lib/security.lib.php et est mis dans un cookie nommé « $_COOKIE[$sessiontimeout] », ce dernier est récupéré dans le « main.inc.php » lors de la création de la session.
Mais alors ça complique un peu les choses pour comprendre pourquoi la session Dolibarr expire avant ce qui est mentionné dans « Time out des sessions »…
Ce « session.gc_maxlifetime », il est positionné à 24’ dans php.ini, ça n’interfère pas ?
Je n’ai qu’une instance Dolibarr.
Je ne trouve pas de réponse à ta question sur le cookie de session timeout. J’utilise Firefox 3.6.10, je ne trouve rien de spécifique dans about:config.
Je vais tester avec un autre browser… pour qualifier éventuellement l’origine du pb à FF/Ubuntu…
il faut aller dans « preferences » puis sur la partie « vie privée » et aller dans « supprimer des cookies » et là tu fais une recherche de DOL_SESSIONTIMEOUT et si tu te mets dessus tu verras le contenu, si tu as personnalisé ton time out dans dolibarr et que tu te reconnectes dessus, tu devrais voir la valeur que tu as déclarée dans ce cookie.
Oui, tu as raison… et je mélange un peu tout maintenant.
Le message en question indique :
Et je vois que 1) j’ai mal exprimé mon problème et 2) je prends à l’envers mes tests…
Pour revenir à ce que j’ai constaté, en mettant 14400 secondes pour 4h, la session expire avant ces 4h… Ca semble contredire la 1ère phase. Et je ne peux pas pour autant dire au bout de combien de temps la session a expiré, il faudrait que je trouve comme tracer l’événement dans un log PHP…
Désolé de revenir sur le sujet, mais quelque chose m’échappe toujours.
La session ne devrait pas expirer avant le délai (en secondes) qu’on a indiqué.
Or j’ai constaté que c’est le cas sur plusieurs installations (PHP5 / Ubuntu).
Est-ce que d’autres utilisateurs constatent aussi ça ?
Malgré une valeur (très) élevée du time out de session (ex. 4h), celle-ci expire avant la durée souhaitée (ex. ~1h) ?
Il semble que ce soit une particularité de Debian et ses dérivés comme ubuntu. On trouve en effet une explication sur php.net, et notamment :
Sur un système « standalone », on peut commenter la ligne de la crontab, ou sinon jouer sur le session.gc_maxlifetime du /etc/php5/apache2/php.ini, par défaut positionné à 24 minutes.