Les Guides
Nos Jeux
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".
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".
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}
| Suivant > |
|---|
Mis à jour (Lundi, 04 Octobre 2010 10:15)
| |