sql >> Databasteknik >  >> RDS >> Mysql

Kan jag räkna sessioner för att bestämma antalet personer online?

Helt fel logik. $_SESSION är en sak per användare. En användares session delas inte med någon annan användares session. Tänk på det - en onlinebank skriven i PHP, alla delar en enda $_SESSION - alla skulle se allas kontouppgifter.

Förutsatt att du använder de vanliga PHP-filbaserade sessionerna, kan du räkna sessionsfilerna i vilken katalog de är lagrade, t.ex.

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

Observera att detta bara räknar sessionsfiler - det kommer utan tvekan att innehålla inaktuella/döda sessioner som inte har samlats in för skräp än. Om du vill ha ett verkligt "är verkligen online just nu", måste du analysera varje sessionsfil och undersöka dess innehåll.



  1. Hur man hämtar kommaseparerade värden från databasen

  2. Dynamiskt välja en kolumn i MySQL

  3. Få översta raden i varje grupp

  4. Hur får man tillbaka alla privilegier till root-användaren i MySQL?