Compter le nombre de joueurs actifs
Il est courant d’observer sur des sites et forums, un affichage du genre : « 163 visiteurs actuellement connectés ».
C’est sympa et ca permet de se sentir parfois moins seul sur un site web où l’asynchronisme est flagrant.
Le php va nous aider à réaliser cet affichage de manière très simple et avec très peu de ressources : en comptant le nombre de fichiers de sessions créés sur le serveur.
Quelques prérequis sont nécessaires pour l’utilisation de cette méthode, il faut :
- que php sauve les sessions sous forme de fichier. A vérifier dans le phpinfo() : session.save_handler = « files ». C’est cependant la valeur par défaut
- avoir accès en lecture à l’emplacement de stockage des fichiers de session. Ce n’est malheureusement à ma connaissance possible que sur un serveur dédié ou un virtual serveur, les hébergements de type mutualisé ne le permettant pas.
- pouvoir lancer un fichier bash via le cron.
Ce guide s’oriente autour d’un fichier bash « countSessions.sh » qui va procéder à deux actions : compter le nombre de sessions et enregistrer cette valeur dans un fichier txt « countSessions.txt ».
Il ne sera exécuté qu’une fois par minute via un cron, les pages web n’affichant que le résultat consolidé « countSessions.txt ».
Fichier countSessions.sh
Par défaut, les sessions php sont stockées dans /tmp. si ce n’est pas le cas, adaptez countSessions.sh en fonction de votre « session.save_path »
#! /bin/sh line=`ls -1 /tmp/sess* | wc -l` echo $line > countSessions.txt
Finalement, dans la page où vous désirez afficher ce nombre, il suffira d’utiliser.
Simple non ?
{mos_fb_discuss:2}
Laisser un commentaire
Vous devez être connecté pour publier un commentaire.