We know that PHP sessions are saved on the server side as files by default, and cookies are used to save variables on the client side. This will cause a problem. When a user closes the browser's cookies for some security reasons, the program Session-related operations in will not be executed. Therefore, if session data can be saved in the database, it will not be restricted by client settings, and there will be a leap in performance and scalability. The key function used in the program is session_set_save_handler, and session.save_handler = files in php.ini must be changed to user. The environment we are discussing here is linux(freesd)+apache+MySQL+php.
Data table structure: [sessions]
CREATE TABLE sessions (
sesskey char(32) not null,
expiry int(11) unsigned not null,
value text not null,
PRIMARY KEY (sesskey)
);
Program code: [session_inc.php]
$SESS_DBHOST = "yourhost"; /* database server hostname */
$SESS_DBNAME = "yourdb"; /* database name */
$SESS_DBUSER = "youruser"; /* database user */
$SESS_DBPASS = "yourpassWord"; /* database password */
$SESS_DBH = "";
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");
function sess_open($save_path, $session_name) {
global $SESS_DBHOST, $SESS_DBNAME, $SESS_DBUSER, $SESS_DBPASS, $SESS_DBH;
If (! $SESS_DBH = mysql_pconnect($SESS_DBHOST, $SESS_DBUSER, $SESS_DBPASS)) {
echo "
The above introduces how PHP uses a database to save sessions, including the content of database saving sessions. I hope it will be helpful to friends who are interested in PHP tutorials.