Dysfonctionnement du module "whosonline"

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

  • [RÉGLÉ] Dysfonctionnement du module "whosonline"

    Bonjour à tous,

    Problème que je rencontre depuis quelques jours : le module "whosonline" de mon site Joomla affiche un nombre sans cesse grandissant de visiteurs "en ligne" sur mon site (je dépasse 40.000...). Mon site est visité mais je ne crois pas qu'il ait autant de succès.

    J'ai un peu cherché en ligne mais je n'ai pas trouvé de personnes ayant un problème similaire. Ce problème n'est pas d'une grande gravité, simplement ennuyeux pour connaître le trafic en temps réel sur le site.

    Ma version de Joomla est la plus récente (3.8.4), réinstallé à neuf il y a quelques semaines. Peu de composants externes ou d'extensions dans l'ensemble : le plus important est Kunena. Une particularité à laquelle je songe en écrivant ce post : j'ai créé un niveau d'accès "visiteurs" pour n'afficher certaines parties du site qu'à ces visiteurs. Mais le problème a commencé bien après, sauf erreur de ma part.

    Merci à ceux qui pourront m'aider.

    Dernière édition par lomart à 05/02/2018, 20h32

  • #2
    Bonjour,
    je m'aperçois que j'ai le même problème avec le même joomla... Le chiffre semble indiqué la somme des visites et non pas le nombre de visiteurs actuels...

    Merci
    Dernière édition par FrLaurent à 05/02/2018, 14h08

    Commentaire


    • #3
      Bonjour,

      Je viens de regarder ce module. Il compte bien les enregistrements guest dans la table #_sessions
      Le problème, si je regarde une des miennes, est qu'elle garde des sessions pour des guests connectés depuis plus longtemps que le temps défini pour la session

      Des solutions rapides:
      1/ la radicale: vider (truncate) la table #_sessions avec PhpMyAdmin pour remettre les pendules à zéro
      2/ ne compter que les sessions récentes en modifiant le code de /modules/mod_whosonline/helper.php
      en ajoutant ou modifiant le code en vert ci-dessous
      Code:
          public static function getOnlineCount()
          {
              $db = JFactory::getDbo();
      
              // Calculate number of guests and users
              $result         = array();
              $user_array  = 0;
              $guest_array = 0;
      
              $whereCondition = JFactory::getConfig()->get('shared_session', '0') ? 'IS NULL' : '= 0';
      
      [COLOR=#008000]$lifetime = JFactory::getConfig()->get('lifetime', '15');[/COLOR]
      
              $query = $db->getQuery(true)
                  ->select('guest, client_id')
                  ->from('#__session')
      [COLOR=#008000]//->where('client_id ' . $whereCondition);
                  ->where('client_id ' . $whereCondition . ' AND time > ' . (time() - ($lifetime * 60)));[/COLOR]
              $db->setQuery($query);
      Par contre, c'est à refaire à chaque mise à jour !
      UP, le plugin universel à découvrir sur https//up.lomart.fr
      bgMax
      , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

      Commentaire


      • #4
        Je ne m'étais jamais aperçu que Joomla! ne vidait pas plus fréquemment cette table. Sur un site où je viens de regarder, j'ai des enregistrements depuis le 2 février un peu avant minuit et maintenant. Un bug ?
        "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


        • #5
          Salut Robert,
          j'ai des enregistrements depuis le 2 février un peu avant minuit et maintenant. Un bug ?
          Moi aussi, c'est ce délai
          Donc le nombre affiché serait tous les guests depuis cette date (environ 3 jours).
          Bug, je sais pas. Je n'ai pas cherché à comprendre comment les sessions sont supprimées
          UP, le plugin universel à découvrir sur https//up.lomart.fr
          bgMax
          , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

          Commentaire


          • #6
            Un grand merci à lomart.
            C'est exactement ce dont j'avais besoin.

            Commentaire


            • #7
              Content d'avoir pu te rendre service.
              J'ai passé le sujet comme réglé
              UP, le plugin universel à découvrir sur https//up.lomart.fr
              bgMax
              , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

              Commentaire


              • #8
                Même si le sujet est clos, pour info... Une note sur GitHub confirme que s'était une erreur de code dans la version 3.8.4 de joomla...
                La version 3.8.5 déjà téléchargeable doit arranger le problème :

                "Sommaire des changements
                Il y a eu une faute de frappe dans le code, ce qui fait que les métadonnées de la session ne sont jamais supprimées et que le nombre de visiteurs affichés dans le module Who's online est erroné. Ce PR corrige ce problème."
                #19514

                Encore merci

                Commentaire


                • #9
                  Merci lomart pour avoir répondu à mon post précédent.
                  Je confirme donc que pour la version 3.8.5, le bogue est toujours présent.
                  Je n'ai effectué aucune modification ni avant, ni après la mise à jour.
                  J'observe simplement le compteur grimpé. Peut être va t'il descendre, dans 2 ou 3 jours, à ce moment la.

                  Commentaire


                  • #10
                    En attendant, j'ai fourni une rustine dans mon post #3
                    ZerooCool aime ceci.
                    UP, le plugin universel à découvrir sur https//up.lomart.fr
                    bgMax
                    , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                    Commentaire


                    • #11
                      Merci Iomart !

                      Commentaire


                      • #12
                        Bonjour,
                        Merci pour la rustine ! Toutefois, si je comprends bien, il faut vider la table chaque jour.
                        Par contre, sur le même site en local, qui me sert de test, le module fonctionne normalement ! Un avis ? Merci

                        Commentaire


                        • #13
                          Bonjour,

                          Ce n'est pas une bonne idée de se greffer sur un sujet [réglé]
                          Merci pour la rustine ! Toutefois, si je comprends bien, il faut vider la table chaque jour.
                          Ma rustine ne s'occupe pas du ménage de la table, mais uniquement de compter les récents
                          La solution serait de changer la méthode de comptage de BD en PHP
                          UP, le plugin universel à découvrir sur https//up.lomart.fr
                          bgMax
                          , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                          Commentaire

                          Annonce

                          Réduire
                          Aucune annonce pour le moment.

                          Partenaire de l'association

                          Réduire

                          Hébergeur Web PlanetHoster
                          Travaille ...
                          X