跳转到主内容
极星编程网:以代码为星,赴技术山海!

使用session_set_save_handler函数重载SESSION存储方式之MYSQL_PHP教程

$DB_SERVER = "server"; /* database server hostname */$DB_NAME = "dbname"; /* database name */$DB_USER = "root"; /* database user */$DB_PASS = "*************"; /* database password */$DB_SELECT_DB = "";$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");function sess_open($save_path, $session_name) {global $DB_SERVER, $DB_NAME, $DB_USER, $DB_PASS, $DB_SELECT_DB;if (! $DB_SELECT_DB =mysql_pconnect($DB_SERVER, $DB_USER, $DB_PASS)) {echo "SORRY! MYSQL ERROR : Cant connect to $DB_SERVER as $DB_USER";echo "MySQL Error: ", mysql_error();die;}if (! mysql_select_db($DB_NAME, $DB_SELECT_DB)) {echo "SORRY! MYSQL ERROR : Unable to select database $DB_NAME";die;}return true;}function sess_close() {return true;}function sess_read($SessionKey){global $DB_SELECT_DB, $SESS_LIFE;$Query = "SELECT SessionArray FROM cdb_global_sessions WHERE SessionKey = ".$SessionKey." AND SessionExpTime > " . time();$Result = mysql_query($Query, $DB_SELECT_DB);if (list($SessionArray) = mysql_fetch_row($Result)) {return $SessionArray;}return false;}function sess_write($SessionKey, $VArray) {global $DB_SELECT_DB, $SESS_LIFE;$SessionExpTime = time() + $SESS_LIFE;$SessionArray = addslashes($VArray);MySQL(Linux)MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。下载$Query = "INSERT INTO cdb_global_sessions (SessionKey,SessionExpTime,SessionArray) VALUES (".$SessionKey.",".$SessionExpTime.",".$SessionArray.")";$Result = mysql_query($Query, $DB_SELECT_DB);if (!$Result){$Query = "UPDATE cdb_global_sessions SET SessionExpTime = ".$SessionExpTime.", SessionArray = ".$SessionArray." WHERE SessionKey = ".$SessionKey." AND SessionExpTime > " . time();$Result = mysql_query($Query, $DB_SELECT_DB);}return $Result;}function sess_destroy($SessionKey) {global $DB_SELECT_DB;$Query = "DELETE FROM cdb_global_sessions WHERE SessionKey = ".$SessionKey."";$Result = mysql_query($Query, $DB_SELECT_DB);return $Result;}function sess_gc($maxlifetime) {global $DB_SELECT_DB;$Query = "DELETE FROM cdb_global_sessions WHERE SessionExpTime    $Result = mysql_query($Query, $DB_SELECT_DB);return mysql_affected_rows($DB_SELECT_DB);}session_set_save_handler("sess_open","sess_close","sess_read","sess_write","sess_destroy","sess_gc");session_start();?>http://www.bkjia.com/PHPjc/508230.html www.bkjia.com true http://www.bkjia.com/PHPjc/508230.html TechArticle? $DB_SERVER = "server"; /* database server hostname */ $DB_NAME = "dbname"; /* database name */ $DB_USER = "root"; /* database user */ $DB_PASS = "*************"; /* database pass...

相关文章