Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Posso contar as sessões para determinar o número de pessoas online?


Lógica totalmente errada. $_SESSION é uma coisa por usuário. A sessão de um usuário não é compartilhada com a sessão de nenhum outro usuário. Pense nisso - um banco online escrito em PHP, todos compartilhando um único $_SESSION - todos veriam os detalhes da conta de todos.

Supondo que você esteja nas sessões padrão baseadas em arquivos PHP, você pode contar os arquivos de sessão em qualquer diretório em que estejam armazenados, por exemplo,
$users = count(glob(session_save_path() . '/*'));

Observe que isso apenas conta os arquivos de sessão - sem dúvida, conterá sessões obsoletas/mortas que ainda não foram coletadas como lixo. Se você quiser um "realmente está online agora", você teria que analisar cada arquivo de sessão e examinar seu conteúdo.