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
XDebug acaba de sacar una nueva versión. Para aquellos que no lo conozcan, se trata de una extensión que permite depurar tus scripts PHP debido a la cantidad de información que ofrece:
La gente de MySQL ha sacado a la luz unos drivers nativos de su base de datos para PHP. Una alternativa que solo funciona para PHP 6 y MySQL 4.1 o superior.