Aprende a aumentar o disminuir la duración de la cookie de sesión (vida útil) en su proyecto Symfony 4.

Seguramente uno de los primeros problemas que noté cuando comencé a trabajar con Symfony 4, fue el tiempo de vida predeterminado de la cookie de sesión, que por defecto no dura más de 10 minutos aproximadamente. Puede cambiar fácilmente la duración de la cookie con la cookie_lifetimeconfiguración, sin embargo, debe saber que también debe configurar handler_idSymfony, o estará trabajando con el mecanismo de sesión PHP predeterminado, que a veces no es el mejor en absoluto. , al menos cuando trabajas con Symfony.

Como se explica en la documentación oficial de Symfony :

Establecer la opción de configuración handler_id en null significa que Symfony utilizará el mecanismo de sesión PHP nativo. Los archivos de metadatos de la sesión se almacenarán fuera de la aplicación Symfony, en un directorio controlado por PHP. Aunque esto generalmente simplifica las cosas, es posible que algunas opciones relacionadas con la expiración de la sesión no funcionen como se esperaba si otras aplicaciones que escriben en el mismo directorio tienen una configuración de vida útil máxima corta.

La mejor solución es usar el administrador de sesión de archivos nativo de Symfony, básicamente almacenarás las sesiones en el /var/sessions/directorio y listo, la opción de por vida volverá a funcionar. Puede hacer esto modificando rápidamente su framework.yamlarchivo en el bloque de sesión de esta manera:

# project/config/framework.yaml
framework:

    session:
        handler_id: session.handler.native_file
        save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
        # 2 días de vida (172800 seconds)
        cookie_lifetime: 172800
        cookie_secure: 'auto'
        cookie_samesite: 'lax'

Después de guardar los cambios en este archivo, borre la caché de su proyecto y proceda a probar si su cookie dura el tiempo especificado.

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores