Archivos de sesión vacía de PHP generados por el sistema de inicio de sesión

Recientemente me he dado cuenta de que se están creando muchas sesiones en blanco, no estoy seguro de por qué, ya que creo que estoy haciendo todo de la manera correcta.

En este momento creamos una sesión cuando un usuario oinicia sesión oregistros, luego verificamos si un usuario ha iniciado sesión con unisset($_COOKIE['auth']) que pertenece a la sesión creada durante el inicio de sesión o registro.

Si esa cookie está presente, entonces iniciamos una sesión, esto nos ayuda a evitar iniciar miles de sesiones para usuarios no registrados y crear una gran cantidad de archivos de sesión.

Configuración de sesión:

archivo php

session_save_path("/home/user/sessions");
session_set_cookie_params("86400", "/");
session_name("auth");

php.ini

session.gc_maxlifetime = 90000
session.cookie_lifetime = 90000
session.use_trans_sid = 0
session.use_only_cookies = 1

Crear sesión de inicio de sesión (En el inicio de sesión exitoso)

session_start();
session_regenerate_id(true);

$_SESSION['userId'] = $userId;
$_SESSION['created'] = time();

session_write_close();
header("Location: $_SERVER[HTTP_REFERER]");

Comprobando si una sesión debe ser reanudada

A continuación, verificamos si iniciar o no una sesión para un usuario en función de si elauth se establece la cookie de sesión.

Solo se establecerá si el usuario se ha registrado o ha iniciado sesión antes:

if(isset($_COOKIE['auth'])){
    session_start();
    session_write_close();
}

Compruebe si el usuario está conectado

Para comprobar si un usuario ha iniciado sesión, utilizamos una función:

function isAuthenticated(){

    if (!isset($_SESSION['userId']))
        return false;
    else
        return true;
}

Cerrar sesión

function logOut(){
    session_start();
    session_destroy();
    setcookie('auth', "", 0);
    unset($_SESSION);
    unset($_COOKIE['auth']); 
    return true;
}

Por alguna razón, estoy obteniendo muchos archivos de sesión vacíos (tamaño de archivo 0) en la carpeta de la sesión.

¿De dónde vienen estos?

Hacesession_regenerate_id(true) crear un nuevo archivo de sesión y dejar el archivo de sesión anterior vacío? ¿Esa es la única razón por la que puedo pensar en los archivos de sesión vacíos?

Respuestas a la pregunta(4)

Su respuesta a la pregunta