Напълно погрешна логика. $_SESSION е нещо за всеки потребител. Сесията на един потребител не се споделя със сесията на друг потребител. Помислете за това - онлайн банка, написана на PHP, всички споделят една $_SESSION - всеки ще види данните за сметката на всеки.
Ако приемем, че сте на стандартните PHP сесии, базирани на файлове, можете да преброите файловете на сесиите в каквато и директория да се съхраняват, напр.
$users = count(glob(session_save_path() . '/*'));
Обърнете внимание, че това само отчита файловете на сесиите - несъмнено ще съдържа остарели/мъртви сесии, които все още не са събрани боклук. Ако искате действително „наистина е онлайн в момента“, ще трябва да анализирате всеки файл на сесията и да прегледате съдържанието му.