Logika yang salah total. $_SESSION adalah masalah per pengguna. Sesi satu pengguna tidak dibagikan dengan sesi pengguna lain. Pikirkanlah - bank online yang ditulis dalam PHP, semuanya berbagi $_SESSION tunggal - semua orang akan melihat detail akun semua orang.
Dengan asumsi Anda menggunakan sesi berbasis file PHP standar, Anda dapat menghitung file sesi di direktori apa pun yang mereka simpan, mis.
$users = count(glob(session_save_path() . '/*'));
Perhatikan bahwa ini hanya menghitung file sesi - tidak diragukan lagi akan berisi sesi basi/mati yang belum dikumpulkan sampahnya. Jika Anda ingin "benar-benar online sekarang", Anda harus mengurai setiap file sesi dan memeriksa isinya.