Mysql
 sql >> Base de données >  >> RDS >> Mysql

Puis-je compter les sessions pour déterminer le nombre de personnes en ligne ?

Logique complètement fausse. $_SESSION est une chose par utilisateur. La session d'un utilisateur n'est pas partagée avec la session d'un autre utilisateur. Pensez-y - une banque en ligne écrite en PHP, partageant toutes une seule $_SESSION - tout le monde verrait les détails du compte de tout le monde.

En supposant que vous êtes sur les sessions standard basées sur des fichiers PHP, vous pouvez compter les fichiers de session dans n'importe quel répertoire où ils sont stockés, par exemple

$users = count(glob(session_save_path() . '/*'));

Notez que cela ne compte que les fichiers de session - il contiendra sans aucun doute des sessions obsolètes/mortes qui n'ont pas encore été ramassées. Si vous voulez un "est vraiment en ligne en ce moment", vous devez analyser chaque fichier de session et examiner son contenu.