Pas de purge automatique des sessions en base de données [Joomla! 3.9.27]

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Pas de purge automatique des sessions en base de données [Joomla! 3.9.27]

    Bonjour à toutes et tous,

    Comme indiqué dans le titre, j'ai un souci de purge des sessions sur un site Joomla! version 3.9.27.

    Il s'agit grosso-modo d'un problème identique à celui déjà évoqué ici :
    https://forum.joomla.fr/forum/joomla...pr%C3%A8s-15mn
    avec un détail près : le plugin "Système - Purge des données de session"est absent des plugins disponibles sur le site (je suis bien connecté en Super Administrateur).

    Pour l'instant, le site a été récemment mis en production donc l'espace occupé dans la table reste correcte, mais j'aimerais résoudre ce problème rapidement d'autant plus que l'admin du site se pose des questions lorsqu'il constate que certains utilisateurs sont connectés plusieurs fois et certains depuis plusieurs jours...

    J'ajoute que le problème se produit aussi bien sur mon environnement de dev WAMP en local que sur le serveur Linux en production.
    Dans les 2 cas le site tourne en PHP 7.4, je ne sais pas si cela va vous être utile mis le paramètre session.gc_probability est bien à 1 dans mon PHP.ini

    J'utilise la méthode "Base de données" pour la gestion des sessions.

    J'ai donc 2 questions :
    - est-il nécessaire d'avoir une configuration particulière pour pouvoir utilisé le plugin "Système - Purge des données de session" ? si oui laquelle ?
    - dans le cas où je ne peux pas utiliser le plugin, je passerai pas un script exécuté via une tâche planifiée, dans cette optique je voulais savoir si un simple DELETE sur la table SESSION est suffisant ou est-cil qu'il faut agir sur d'autres tables associées ?

    En vous remerciant par avance pour vos lumières,

    Mickaël
    Dernière édition par Soundboy39 à 13/07/2021, 11h33 Raison: ajout info

  • #2
    Bonjour,

    Si tu ne vois pas ce plugin, c'est qu'il n'a pas été enregistré dans la base. Commence par voir dans la gestion des extensions s'il n'y a pas des choses à "découvrir" puis installer, et profites-en pour vérifier si la base de données est bien à jour.
    easyconnect83 aime ceci.
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Envoyé par RobertG Voir le message
      Bonjour,

      Si tu ne vois pas ce plugin, c'est qu'il n'a pas été enregistré dans la base. Commence par voir dans la gestion des extensions s'il n'y a pas des choses à "découvrir" puis installer, et profites-en pour vérifier si la base de données est bien à jour.
      RobertG a raison il y a du avoir un problème à l'installation de ton projet Joomla pour que ce plugin système natif soit absent ...

      Donc vérifier dans le back-office dans le menu Extensions / Gestion / Système - Purge des données de session si le plugin est présent et publié.
      Le plugin Système - Purge des données de session est utilisé dans les deux cas de figure menu Système / Configuration / Onglet Système
      Configuration des sessions
      Méthode (Base de données ou PHP)

      Vérifier également la base de données Joomla via le menu Extensions / Base de données et le bouton Correction en haut à gauche.

      Pour éviter que la table des sessions soit de grande taille tu peux utiliser la très célèbre extension AdminTools d'Akeeba qui permet dans sa configuration d'automatiser des tâches comme : purger la table des sessions, purger les dossiers temporaires, ... Extension quasi indispensable pour permettre de protéger au mieux Joomla.

      Bonne continuation.

      Commentaire


      • #4
        Merci pour vos retours,

        C'est quand même bizarre... j'ai regardé sur une site Joomla plus ancien qui est en 3.6... le plugin n'y est pas non plus.

        Bref... Voilà ce que j'ai fais :

        - vérification de la base de données : effectivement elle n'était pas à jour, j'ai donc procéder à une mise à jour via le bouton "Correction", la base est désormais à jour;
        - dans le doute, mise à jour de Joomla! en dernière version (3.9.28);

        Malgré ces actions, le plugin n'est toujours pas disponible dans le backoffice, ni directement dans la partie "Plugins", ni dans la partie "Extensions: Gestion".

        Côté sources, j'ai bien un dossier "\plugins\system\sessiongc" qui contient les sources du plugins "plg_system_sessiongc", je suppose qu'il s'agit du plugin en question, par contre il ne se trouve pas dans la table "extensions".

        Est-ce qu'il existe un moyen de "forcer" sa détection et son ajout en base de données ?

        Commentaire


        • #5
          C'est bon j'ai réussi à installer le plugin en mode "découverte", honnêtement j'avais jamais entendu parler de cette fonctionnalité... merci pour le tuyau RobertG !

          Pour tester, j'ai régler le plugin avec une probabilité de 1/1 pour que la purge soit effectuée à chaque requête, je constate que la table est bien purgée et qu'il n'y a plus d'utilisateur au statut "connecté".

          Est-ce que vous me conseiller une probabilité "optimale" à utiliser en production ?

          Commentaire


          • #6
            Envoyé par Soundboy39 Voir le message
            C'est bon j'ai réussi à installer le plugin en mode "découverte", honnêtement j'avais jamais entendu parler de cette fonctionnalité... merci pour le tuyau RobertG !

            Pour tester, j'ai régler le plugin avec une probabilité de 1/1 pour que la purge soit effectuée à chaque requête, je constate que la table est bien purgée et qu'il n'y a plus d'utilisateur au statut "connecté".

            Est-ce que vous me conseiller une probabilité "optimale" à utiliser en production ?
            La question est intéressante mais cela dépend du projet, du nombre d'utilisateurs, de la fréquence de connexion, ...

            Pour mes sites, en règle générale je purge les sessions toutes les heures.
            Après en terme de sécurité il est bien aussi dans la Configuration des sessions (menu Système / Configuration / Onglet Système) de ne pas avoir une durée de session trop importante. Ne pas dépasser 30 mn par exemple.

            PS : j'ai oublié de vous fournir le lien vers les automatisations possibles avec l'extension AdminTools

            Commentaire


            • #7
              cela dépend du projet, du nombre d'utilisateurs, de la fréquence de connexion, ...
              Oui je suis d'accord.

              Je vais régler de manière à ce que la purge soit effectuée 10 fois pour 100 requêtes, je pense que cela devrait suffire... si ce n'est pas le cas et que je n'arrive pas à trouver le réglage adéquat je passerais par Admin Tools.

              Merci pour votre aide.
              easyconnect83 aime ceci.

              Commentaire


              • #8
                Avec plaisir et bonne continuation

                Commentaire

                Annonce

                Réduire
                Aucune annonce pour le moment.

                Partenaire de l'association

                Réduire

                Hébergeur Web PlanetHoster
                Travaille ...
                X