Using MySQL-Based Storage with the PHP Session Manager
Problem
You want to use session storage for PHP scripts.
Solution
PHP includes session management. By default, it uses temporary files for backing store, but you can configure it to use MySQL instead.
Discussion
This section shows how to use the PHP native session
manager and how to extend it by implementing a storage module that
saves session data in MySQL. If your PHP configuration has the
track_vars
configuration variable
enabled, session variables are available as elements of the $HTTP_SESSION_VARS
global array or the
$_SESSION
superglobal array.
track_vars
is always enabled as of
PHP 4.0.3, so I’ll assume that this is true for your PHP installation.
If the register_globals
configuration variable is enabled as well, session variables also
exist in your script as global variables of the same names. However,
this is less secure, so this variable is assumed
not to be enabled here. (Collecting Web Input discusses PHP’s global and
superglobal arrays and the security implications of register_globals
.)
The PHP session management interface
PHP’s session management capabilities are based on a small set of functions, all of which are documented in the PHP manual. The following list describes those likely to be most useful for day-to-day session programming:
-
session_start ()
Opens a session and extracts any variables previously stored in it, making them available in the script’s global namespace. For example, a session variable named
Get MySQL Cookbook, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.