Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1351 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Question sur les sessions et leur expiration

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Question sur les sessions et leur expiration

n°2298246
clockover
That's the life
Posté le 24-03-2017 à 17:26:03  profilanswer
 

Bonjour,
 
J'ai développé un intranet personnel sur lequel j'utilise des sessions PHP.
J'ai remarqué un comportement différent depuis le changement du serveur d'hébergement (qui au passage à fait passé PHP de 5 à 7).
 
Sauf erreur de ma part, avant la session expirait que si le client ne faisait aucune activité pendant la durée du timeout.
Depuis le basculement par contre, mes sessions durent la durée du timeout. C'est à dire qu'un utilisateur va travailler sur l'intranet puis au bout du temps du timeout, sa session va expirer même si il était toujours en train de faire des requêtes.
 
Est-ce que les sessions ont changés de comportement entre php5 et php7 ?
J'ai comparé les php.ini mais ils sont identiques pour les variables de sessions.
 
J'avoue ne pas trop savoir pourquoi cela réagit comme ça.
 
Merci à toutes suggestions
 :hello:


Message édité par clockover le 24-03-2017 à 17:27:03
mood
Publicité
Posté le 24-03-2017 à 17:26:03  profilanswer
 

n°2298252
TotalRecal​l
Posté le 25-03-2017 à 09:41:06  profilanswer
 

Bonjour,  
Tu as lu des choses de ce genre :  
http://stackoverflow.com/a/8311400/461444
http://stackoverflow.com/a/1270960/461444
http://php.net/manual/fr/session.configuration.php
?
 
Ca ne pourrait pas venir de ton code aussi, un truc un peu buggé qui ferait un regenerate ou un destroy de la session à partir de mauvais critères ?
Si l'appli est trop grosse pour trouver, essaye de voir avec un projet de test aussi minimaliste que possible.
 
En PHP 7 je ne pense pas que la gestion par défaut des sessions a été modifiée pour introduire un truc aussi fantaisiste que "supprime la session au bout du lifetime, même si elle est toujours active". Mais en PHP tout est possible...


---------------
Topic .Net - C# @ Prog
n°2298263
clockover
That's the life
Posté le 26-03-2017 à 06:36:15  profilanswer
 

Bonjour,
 
Merci pour ton retour.
Effectivement j'ai déjà épluché ce genre de conversation.
 
Je n'ai pas de regenerate dans mon code mais peut-être qu'une autre commande/action l'appelle ou pourquoi pas la destroy.
Je vais commencer par mettre un suivi de la session un peu plus poussé pour voir effectivement.
 
Je reviens avec plus d'infos!

n°2298311
clockover
That's the life
Posté le 28-03-2017 à 00:51:48  profilanswer
 

Bon test tout simple.
 
J'ai un JS qui appelle en AJAX toute les 60 secondes une fonction à la con précédé de session_start() bien sur:  

Code :
  1. echo date('H:i').' - '.session_id().'<br />';


 
Résultat:
21:08 - 9gf6uvgokgai0hrmugei0hlh41
[...]
00:28 - 9gf6uvgokgai0hrmugei0hlh41
00:29 - pkpq4kiiu94favd4vta8il0ot4
 
Il a changé de session ID au bout de 3h20  
php.ini -> session.gc_maxlifetime = 14400 (soit 4h)


Message édité par clockover le 28-03-2017 à 00:52:38
n°2298495
clockover
That's the life
Posté le 31-03-2017 à 14:24:22  profilanswer
 

Visiblement c'est plus un soucis serveur qu'autre chose.
J'ai fait des tests sur un autre en 7.0 également et visiblement le soucis disparaît.
Je suspect un soucis de lecture sur les fichiers de sessions ce qui les fait expirer quoi qu'il arrive. Enfin c'est juste une intuition pour l'instant.
 
Je fais toujours mes tests.


Message édité par clockover le 31-03-2017 à 14:29:50
n°2299511
clockover
That's the life
Posté le 22-04-2017 à 00:23:39  profilanswer
 

En changeant de serveur soucis corrigé. J'ignore la cause exactement.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Question sur les sessions et leur expiration

 

Sujets relatifs
[PHP] Tableau automatique, mais des lignes sautent[HTML/PHP] Redirection via Arduino
Passer de MySQL à MySQLi pour PHP 7[PHP] pourquoi ma regex ne marche pas ?
[PHP] Lire la page HTML d'un site sur lequel on est connectéPHP - Apache, best practices pour serveur multi sites
Pb lecture mail envoyé via PHPComment réaliser un historique d'achat ? (PHP, MySQL)
Aide Php + Python (débutant)Code compteur de présence en PHP
Plus de sujets relatifs à : [PHP] Question sur les sessions et leur expiration


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR