Carl29:
la ubicación de esos archivos esta determinada por la variable de php.ini
session.save_path
la misma, puede ser cambiada por
PHP_INI_ALL 7 La entrada se puede fijar en cualquier lugar , es decir
en
php.ini
a traves de
ini_set()
o en .htaccess, siempre y cuando php esté instalado como módulo de Apache
php_value session.save_path "/ruta/tmp"
pero PHP te advierte
Cita: Si se deja esta configuración para un directorio legilble por todo el mundo, tal como /tmp (por defecto), otros usuarios en el servidor pueden ser capaces de secuestrar sesiones obteniendo la lista de archivos de ese directorio.
Ahora bien, el borrado de los archivos innecesarios almacenados en esa carpeta, lo debe realizar el propio php, no el servidor, a través de un proceso llamado "Garbage Collector" (Colector de Basura), pero, si la ruta fijada por defecto en php.ini fue modificada como se vió arriba, el proceso no se realiza.
Tampoco se realiza si se uso
session.save_path = "N;MODE;/path"
El mode por defecto es chmod 600 y N un máximo de niveles de subdirectorios para almacenar esas sesiones temporales, si está especificado N, entonces el "garbage Collector" no se realiza. En unix hay una script para realizar la limpieza
cd /path/to/sessions; find -cmin +24 | xargs rm
Otra alternativa que puede resultar es ejecutar
<?php
ini_set( 'session.gc_probability', ( int )100 );
session_start();
?>
esta es un poco mas larga de explicar, pero hace que las probabilidades de que php haga "recoleccion de basura" sea de 100/100 y no de 1/100 (1 es el valor por defecto para 'session.gc_probability'
Bueno, espero que algo de todo esto te resulte
Saludos