PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

DevShed: Custom Session Management Using PHP and MySQL

Note: This article was originally published at PHPDeveloper on 12 May 2011.
PHPDeveloper

DevShed has a recent post looking at a handy feature PHP includes to let you be a bit more flexible with your session handling - the custom handlers that can be used for fun things like MySQL session handling.

Now the default PHP session management functions work just fine for most uses, and there is no reason to create a custom session handler if all you have is one server with a moderate amount of traffic and session use. However, remember that session data is stored locally on your server's hard drive. If you have more than one web server, obviously you will need to figure out another way to manage sessions so that the user's session can be restored regardless of which web server they hit. This is where PHP's session_set_save_handler() comes in handy.

The session_set_save_handler method allows you to define this custom handler and, in their example, push the session information (contents, modify date, ID) into a MySQL table for reading. They also mention some of the issues that might come up with this sort of handling including performance problems and incompatibility with any other language/tools that might need access to the session information.