The session handler is one of the most important features of Joomla, it helps users to stay logged in on the website.
In this short blog post, I'll discuss in details what the session handler is and how you can configure it.
What is Joomla session handler
The Joomla session handler helps users to stay connect after they are logged in on the frontend or administrator section of your website.
It keeps the connection open after you're idle for a certain time. The idle time is the session lifetime.
Where to find the Joomla session handler
You can find the Joomla session handler in the global configuration under the system settings.
This is the same for Joomla 3.x as the 4.x version.
What types of Joomla session handlers are there
There are 3 types of Joomla session handlers:
- Memcached (experimental)
Joomla Database session handler
The database option is the default setting for the Joomla session handler.
This type of session handler records all the data in the database in the session table.
Biggest disadvantage of this type of Joomla session handler is that it can make your database very heavy.
Especially when you have a website with a lot of users.
Joomla PHP/Filesystem session handler
This is the more advanced Joomla session handler in comparison with the Joomla database session handler.
The PHP/Filesystem session handler saves the session data in the PHP session handler.
Pay attention, do not enable this option is your server does not support it! It can block the login on the site.
The biggest advantages of the PHP/Filesystem session handler are:
- much faster in comparison with the Joomla database session handler
- it doesn't burden the database
- ideal if you have a lot of users on your website
Joomla Memcache session handler
The Joomla Memcache session handler is very experimental, so be aware if you want to use this.
I recommend that you don't use it for live website and especially not if you don't know how this works.
The Joomla Memcache session handler is a custom session handler that store the user session data in memcache.
It uses a completely separate memcache instance, so you can use even a different server pool if you want.
The session keys keys are stored with the prefix memc.sess.key..
What is the Joomla session lifetime
The Joomla session lifetime is the time that the session handler keeps the connection for the user open after he's idle.
The timer will be reset each time the user do something on the website.
The default setting is 15 minutes.
So, if the user is idle for 15 minutes, the Joomla session handler will log out that user and he needs to log in again.
What is a shared Joomla session
There is an option to activate shared Joomla session. But what is that?
Will I share a session with someone else? No, it's not that.
When you enable the Joomla shared sessions option, a user's session will be shared between the frontend and administrator section of the site.
This is useful when you're active both sections and have to switch regular between them.
How to configure the Joomla session handler
First you need to log into the administrator section of your website.
Then you need to navigate to the global configuration and switch to the system tab.
And there you can find the Joomla session handler settings.
The default settings are:
- Joomla database session handler
- 15 minutes lifetime
- no shared session
What is the best setting
It depends on what type website you got off course.
But in my experience, the best settings for the Joomla session handlers are as follow.
- Joomla PHP/Filesystem session handler
- 30 minutes lifetime
- no shared session
Now, you know what the Joomla session handler is and why it's one of the most important features of Joomla.
If you need some guidance in finding the correct setting for your website OR having trouble with any other setting, we can help you.