¿Manejador de sesión, "Base de datos" o "Ninguno"?

11

En la configuración global de Joomla hay una opción "Session Handler", su descripción dice

El mecanismo por el cual Joomla! identifica a un usuario una vez que está conectado al sitio web utilizando cookies no persistentes.

Sin embargo, todavía no entiendo lo que intenta explicar.

¿Cuáles son las ventajas y desventajas de ambos? ¿Cómo sé qué opción es buena para mí?

Hung Tran
fuente
1
Algunas de las respuestas a continuación parecen favorecer la opción "Ninguna", sin embargo, también consulte esta otra pregunta que sugiere que el método predeterminado "Ninguna" (es decir, archivos ) para almacenar la sesión es sincrónico, es decir. la sesión se bloquea cuando se escribe en.
MrWhite

Respuestas:

3

En la opción none, usa el identificador de sesión php predeterminado, que usa archivos para almacenar los datos de la sesión. En la opción de base de datos, usa la base de datos para almacenar los datos de la sesión. En http://www.tuxradar.com/practicalphp/10/3/7 puede obtener más información sobre Archivos vs. Bases de datos en la sesión

csbenjamin
fuente
6

Similar a la respuesta de @ codinghands, escribir la sesión en la base de datos nos causó tener demasiadas conexiones:

/programming/14506124/joomla-is-causing-too-many-connections-database-errors

La base de datos no estaba dañada, pero derribó nuestro sitio. Logramos resolverlo cambiando el controlador de sesión a ninguno.

Además, es posible que desee ver cómo PHP está almacenando su sesión. Los nuestros estaban siendo escritos en el disco duro. Esto fue lento (hasta ~ 200 ms), y no es bueno si desea equilibrar la carga de sus servidores. La opción mysql sería buena para el equilibrio de carga si puede evitar el 'problema de demasiadas conexiones'

Cambio de contexto
fuente
3

Solo para agregar mis 2 centavos: descubrí en versiones anteriores de Joomla que la _sessionstabla a menudo se corrompe en sitios que reciben una gran cantidad de visitantes únicos y, por lo tanto, abren sesiones, bajando el sitio hasta que la tabla se repare / borre. El uso de None resolvió esto por mí.

codinghands
fuente