Aprende a solucionar uno de los típicos escenarios, donde la sesión que has abierto en tu aplicación, no es suficiente de la que requieres. Que la aplicación que has escrito no tiene responsabilidad, y aunque de alguna manera, puedes especificarlo desde la misma, es responsabilidad de lado del servidor, donde este tiene que mediar en la decisión de cuánto tiempo de vigencia les dará a tus aplicaciones. Claramente está involucrado el servidor http que estés utilizando, sin embargo, también PHP como lenguaje en sus configuraciones, ya que este último, no solamente es un lenguaje, sino también un entorno que goza con los poderes de ser ejecutado como servidor, lo que lo convierte en un lenguaje poderoso y completamente configurable.
Escenario real
En estos momentos, estoy intentando escribir en el estudio de esta plataforma, donde muchas veces, me tomo mi tiempo para desarrollar el contenido, aunque otras veces sí que soy bastante rápido, como creo que puede ser este momento. Resulta que la sesión se me cierra cada 24 minutos ¿Cómo sé este dato? bueno, no es que me haya puesto a medir el tiempo, sino más bien, revisé en el servidor lo que estaba asignado, así que sí, esto lo puedes visualizar desde ahí, ya que es una directiva de PHP configurable. Esto no me gustaba para nada y supongo que para mis colegas sería nefasto el estar usando una sesión y que aquello que no has guardado simplemente se pierda por el hecho en que tu sesión se ha agotado.
Objetivo de la solución
¡Vamos al laboratorio!
En el servidor, ubicar el fichero php.ini en la ruta específica y editarlo, puede ser con nano como con vim o el editor que más te guste:
sudo nano /etc/php/7.2/apache2/php.ini
Podemos encontrar que la versión de PHP que está usando el servidor en las 7.2, por lo que los ficheros de configuración se encontrarán dentro del mismo directorio, de otro modo que tengas otra versión, es tan sencillo como acceder a la versión que estás utilizando y continuar con las instrucciones. Ah, esto lo estoy haciendo en GNU/Linux, sin embargo, si estuviéras usando Windows con XAMPP, sería tan sencillo como seleccionar desde la interfaz, el fichero php.ini y acceder a las configuraciones por medio del bloc de notas.
Se proceden a actualizar las siguientes directivas:
session.gc_maxlifetime = 43200
session.cache_expire = 720
session.cookie_lifetime = 0
Con el conocimiento sobre las directivas y llevando a cabo las configuraciones en el fichero de configuración anteriormente orientado, producirá simplemente una actualización y para que surjan efectos, lo único que se espera, es que se reinicie el servidor HTTP, que en este caso es Apache.
sudo systemctl restart apache2
Con esto, ya deberías tener la solución, de hecho, si este artículo se publica con éxito, después de escribir la primera parte hace unas cuantas horas, de interrumpirlo y luego de llegar hasta este punto de publicar, entonces es que esto a funcionado, ya que lo he puesto en práctica en este servidor, así que más prueba de que funcione, no te puedo ofrecer. Igualmente, si encuentras alguna incidencia, comparte y lo vemos con calma para encontrar solución.
With supporting text below as a natural lead-in to additional content.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.