Mysql
 sql >> Database >  >> RDS >> Mysql

Posso contare le sessioni per determinare il numero di persone online?

Logica totalmente sbagliata. $_SESSION è una cosa per utente. La sessione di un utente non è condivisa con la sessione di nessun altro utente. Pensaci:una banca online scritta in PHP, che condivide tutte una singola $_SESSION:tutti vedrebbero i dettagli del conto di tutti.

Supponendo che tu sia su sessioni standard basate su file PHP, puoi contare i file di sessione in qualsiasi directory siano archiviati, ad es.

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

Nota che questo conta solo i file di sessione:conterrà senza dubbio sessioni stantie/morte che non sono state ancora raccolte. Se vuoi che "è davvero online in questo momento", dovresti analizzare ogni file di sessione ed esaminarne il contenuto.