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
Yo uso otro funcion como reemplazo de var_dump (extraida de CakePHP) que aunque no tiene colores presenta la informacion bastante ordenada:
[code]
function debug($var = false, $showFrom = true) {
if ($showFrom) {
$calledFrom = debug_backtrace();
$file = str_replace(‘\\’, ‘/’, $calledFrom[0][‘file’]);
echo ‘‘ . $file . ‘‘;
echo ‘ (line ‘ . $calledFrom[0][‘line’] . ‘)’;
}
echo “\n\n”;
$var = print_r($var, true);
echo $var . “\n\n”;
}
[/code]
Bueno la clase esta interesante y muy practica, gracias por publicar un post con la info.
Saludos.
Gracias Gabriel por el script.
Domingo, espero que te sea de utilidad
Yo suelo utilizar la función fb de FirePHP, un complemento de Firebug:
http://www.firephp.org/