Obtener usuarios conectados en PHP de forma rápida
Muy buen método para obtener el número de usuarios conectados en el momento de forma rápida y sin consumir muchos recursos. Para ello lo que se hace es leer los datos de la sesión que se guardan en disco.
PHP normalmente guarda la sesión en disco, pero como no es algo seguro, ni el directorio tiene que ser el mismo, se debe indicar mediante configuración el que se guarde en disco y la ruta. Para ello hay tres formas de hacerlo:
Php.ini
session.save_handler = "files" session.save_path = "/usr/home/sessions/" session.auto_start = 1
.htaccess
php_value session.save_handler files php_value session.save_path /usr/home/sessions/ php_value session.auto_start 1
Código PHP
<?php
ini_set('session.save_handler', 'files');
ini_set('session.save_path', '/usr/home/sessions/');
ini_set('session.auto_start', 1);
?>
Por último solo nos falta obtener el dato:
echo ((int)count(explode("\n",shell_exec('ls /usr/home/sessions')))) . ' users online';
VÃa / GoodPHPTutorials