Hola Ibito.
Con REMOTE_ADDR podés obtener la IP cliente del que está visitanto el sitio, junto a eso guardás en una tabla el ID del usuario y la hora exacta (cada vez que se ingrese a cualquier parte de tu sitio). Igualmente podés omitir lo de la IP.
Para determinar cuántos usuarios hay online, sólo te queda por buscar la cantidad de usuarios UNICOS de esa tablita en un rango de los últimos 15 minutos.
EJ:
SELECT COUNT(*) FROM accesos WHERE hora = 123456789 GROUP BY id_usuario
Donde 123456789 = time() - 15 * 60
Eso te va a dar la cantidad de usuarios que visitaron el sitio en los últimos 15 minutos.
Saludos.