Linux.debian : Problème de session PHP Debian Etch
Posté par Desmonet Rémi () le 21 mars 2008
0
Salut à tous.
Alors, j'ai un problème assez génant de session sous PHP.
Déjà, j'utilise une Debian Etch (mise à jour), avec Apache2.2.3-4+etch4, PHP5.2.0-8+etch10, et CakePHP comme framwork de dev.
Le truc est que mes sessions sont super courtes et donc je suis déconnecté en permanence (aussi bien sur mes site, que sur PHPMyAdmin).
J'ai remarqué que nombreux fichiers étaient crées dans /var/lib/php5/ même lorsqu'une seule session PHP devrait être utilisée.
J'ai également remarqué qu'un cron était crée sur les Debian pour PHP5 dans /etc/cron.d/php5.
Quelqu'un connait ce problème?
Est-ce que Debian à un soucis avec les sessions, ou bien est-ce ma conf. qui pose problème (en sachant que tout les fichiers genre php.ini et http.conf sont quasiment ceux qui sont crée par défaut)?
Merci d'avance.
> Lire le message (6 commentaires, moyenne: 1,2).
Vous avez demandé le commentaire #915820.


/usr/lib/php5/maxlifetime
Vérifie la sortie de la commande /usr/lib/php5/maxlifetime, qui doit donner, en nombre d'heures, l'âge maximum des sessions avant qu'elles ne soient supprimées par le cron.
Ça doit pouvoir se configurer avec session.gc_maxlifetime dans /etc/php5/*/php.ini.
[ Répondre ]
[^]Re: /usr/lib/php5/maxlifetime
Merci pour ta réponse.
J'ai vérifié ça, et la valeur est à 24.
Mes sessions se perdent après environ 30 secondes max, et en plus c'est complètement aléatoire.
Apparement le problème doit se trouver ailleurs.
[ Répondre ]
[^]Re: /usr/lib/php5/maxlifetime
Ce sont des minutes.
Ton problème est bien là.
[ Répondre ]
[^]Re: /usr/lib/php5/maxlifetime
Par défaut le "session.gc_maxlifetime" dans php.ini est configuré avec une valeur de "1440" mais il s'agit de secondes
extrait du manuel php:
session.gc_maxlifetime entier
" Spécifie la durée de vie des données sur le serveur, en nombre de secondes. Après cette durée, les données seront considérées comme obsolètes, et supprimées. Les données deviennent obsolètes lors du démarrage de la session."
voir cette page => http://fr3.php.net/manual/fr/ref.session.php
Si t'a touché a rien , ils ont du faire une boulette chez debian (1440 sec = 24 minutes)
deep & sexy house for the soul
[ Répondre ]
[^]Re: /usr/lib/php5/maxlifetime
Comme le dit skud, /usr/lib/php5/maxlifetime donne en fait le temps en minute (il divise session.gc_maxlifetime / 60), qui est ensuite utilisé par find avec -cmin.
Le fait qu'il y ai pleins de fichiers de session dans le dossier indique je pense que le problème n'est pas là, mais peut être au niveau du cookie de session (le cookie disparait, une nouvelle session est créée).
Il faudrait vérifier les session.cookie_lifetime&cie, et la configuration du navigateur au niveau des cookies (ça marche avec un autre navigateur ?)
[ Répondre ]
[^]Re: /usr/lib/php5/maxlifetime
Alors, dans mon php.ini, voila ce que je trouve:
session.cookie_lifetime = 0
(if 0, until browser is restarted)
et
session.gc_maxlifetime = 1440
J'ai fait plusieurs tests avec IceWeasel et Firefox et Epiphany, et les comportements sont similaires.
Ce qui est étrange c'est que parfois mes sessions durent 30 secondes, et parfois jusqu'à 20 minutes, sur un même navigateur.
En fait je me demande si CakePHP ne redéfinirais pas les valeurs présentes dans php.ini.
Par exemple, j'ai max_execution_time = 30, alors que certains de mes scripts de traitements sont assez lourds, et tournent pendant une demi heure sans problème.
[ Répondre ]