sql >> Database >  >> RDS >> Mysql

Kan ik sessies tellen om het aantal mensen online te bepalen?

Totaal verkeerde logica. $_SESSION is iets per gebruiker. De sessie van een gebruiker wordt niet gedeeld met de sessie van een andere gebruiker. Denk er eens over na - een online bank geschreven in PHP, die allemaal een enkele $_SESSION deelt - iedereen zou ieders accountgegevens kunnen zien.

Ervan uitgaande dat u de standaard op PHP-bestand gebaseerde sessies gebruikt, kunt u de sessiebestanden tellen in elke map waarin ze zijn opgeslagen, bijvoorbeeld

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

Merk op dat dit alleen sessiebestanden telt - het zal ongetwijfeld oude/dode sessies bevatten die nog niet zijn verzameld. Als je een echte "is nu echt online" wilt, moet je elk sessiebestand ontleden en de inhoud ervan onderzoeken.



  1. SQL Server-teksttype versus varchar-gegevenstype

  2. hoe u Google Analytics-gegevens naar mysql-tabellen kunt pushen

  3. Mysql-query naar ElasticSearch

  4. Wijzigingstijden voor MySQL-gegevensexport