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

Kan jeg tælle sessioner for at bestemme antallet af personer online?

Helt forkert logik. $_SESSION er en per-bruger ting. En brugers session deles ikke med nogen anden brugers session. Tænk over det - en onlinebank skrevet i PHP, som alle deler en enkelt $_SESSION - alle ville se alles kontooplysninger.

Forudsat at du er på standard PHP fil-baserede sessioner, kan du tælle sessionsfilerne i hvilken mappe de er gemt, f.eks.

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

Bemærk, at dette kun tæller sessionsfiler - det vil uden tvivl indeholde forældede/døde sessioner, der endnu ikke er blevet indsamlet affald. Hvis du vil have en faktisk "er virkelig online lige nu", skal du analysere hver sessionsfil og undersøge dens indhold.



  1. Sådan aktiverer du generelle logfiler og fejllogfiler i AWS RDS

  2. mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows osv... forventer, at parameter 1 er ressource

  3. Lagret procedure hæver inkompatibel med sql_mode=only_full_group_by selvom sql_mode er tom

  4. Brug af DMV ( Dynamic Management View ) og DMF  ( Dynamic Management Function ) | SQL Server Performance Fejlfinding -4