En PHP no existe el "global.asa" soportado directamente por PHP (y funciones/funcionalidades de este).
Para llevar el control de tus usuarios activos .. las sesiones de PHP en sí no te podrán ayudar, sólo para lo que lo usas actualmente: temas de autentificación/validación/seguimiento de tu usuario (individual) o propagar variables en general en esa sesión.
Los usuarios activos en este caso .. lo que se suele hacer no es capturar eventos que sucedan en el cliente como un "unLoad" o similares .. los cuales pueden simplemente no suceder (ejemplo: un navegador sin javascript activo .. o un script PHP que realmente no pasa por tu navegador para su ejecución ..), en estos casos se considera un tiempo máximo de "inactividad" de tu usuario; entendiendose como "actividad" al hecho de que tu usuario va pidiendo páginas a tu aplicación .. haciendo links, enviando formularios, recargando página .. etc. Ahí es donde tu puedes ir actualizando tus BD con la fecha última de interacción con el sistema y compararla con la que tu consideres como "inactividad" (o "se fué del sistema sin salir por tu "logout").
Como veras el cálculo no es 100% fiel .. pero todo depende del tiempo que tu consideres como "inactivo" así será tu margen de error.
Puedes combinar esto con los enventos javascript mencionados .. pero no fiarte 100% en que los eventos javscript que suceden en el "cliente" vayan a disparar tu script PHP de proceso.
Algunos ejemplos (usando archivos de texto plano o BD Mysql):
http://www.maestrosdelweb.com/editor...ulo.php?phpusr http://www.desarrolloweb.com/articulos/615.php?manual=6
Ahí como veras usan para identificar al usuario su "IP" .. pero si tu usuas ya tu sistema de usuarios .. usa tus "ID's" de tus usuarios que ya tienes autentificados.
Un saludo,