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';

Webdigity

Vía / GoodPHPTutorials

Similar Posts