Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann ich Sitzungen zählen, um die Anzahl der Personen zu bestimmen, die online sind?

Völlig falsche Logik. $_SESSION ist eine Sache pro Benutzer. Die Sitzung eines Benutzers wird nicht mit der Sitzung eines anderen Benutzers geteilt. Denken Sie darüber nach - eine in PHP geschriebene Online-Bank, die sich alle eine einzige $_SESSION teilen - jeder würde die Kontodetails von jedem sehen.

Angenommen, Sie befinden sich in den standardmäßigen dateibasierten PHP-Sitzungen, können Sie die Sitzungsdateien in dem Verzeichnis zählen, in dem sie gespeichert sind, z. B.

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

Beachten Sie, dass dies nur Sitzungsdateien zählt - es werden zweifellos veraltete/tote Sitzungen enthalten sein, die noch nicht von der Garbage Collection erfasst wurden. Wenn Sie ein tatsächliches "ist jetzt wirklich online" wollen, müssen Sie jede Sitzungsdatei parsen und ihren Inhalt untersuchen.