ThinkPHP實現(xiàn)將SESSION存入MYSQL的方法
本文以實例講解了ThinkPHP實現(xiàn)將SESSION存入MYSQL的方法,所采用的運行環(huán)境是ThinkPHP3.1.2版
首先index.php中設(shè)置為:
<?php
define('APP_DEBUG', true);//設(shè)置為調(diào)試模式
require '../ThinkPHP/ThinkPHP.php';//設(shè)置入口文件
ini_set("session.save_handler", "user");//設(shè)置PHP的SESSION由用戶定義
在config.php中設(shè)置為:
<?php
return array(//'配置項'=>'配置值'
// 添加數(shù)據(jù)庫配置信
'SHOW_PAGE_TRACE' =>true,
'DB_TYPE' => 'mysql', // 數(shù)據(jù)庫類型
'DB_HOST' => 'localhost', // 服務(wù)器地址
'DB_NAME' => 'thinkphp', // 數(shù)據(jù)庫名
'DB_USER' => '你的用戶名', // 用戶名
'DB_PWD' => '你的密碼', // 密碼
'DB_PORT' => 3306, // 端口
'DB_PREFIX' => 'think_', // 數(shù)據(jù)庫表前綴綴
'SESSION_OPTIONS'=>array(
'type'=> 'db',//session采用數(shù)據(jù)庫保存
'expire'=>1440,//session過期時間,如果不設(shè)就是php.ini中設(shè)置的默認(rèn)值
),
'SESSION_TABLE'=>'think_session', //必須設(shè)置成這樣,如果不加前綴就找不到數(shù)據(jù)表,這個需要注意
);
?>
數(shù)據(jù)庫設(shè)置采用SessionDb.class.php中的DDL,不過后面加了ENGINE=MyISAM DEFAULT CHARSET=utf8
CREATE TABLE think_session (
session_id varchar(255) NOT NULL,
session_expire int(11) NOT NULL,
session_data blob,
UNIQUE KEY `session_id` (`session_id`)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
現(xiàn)在訪問你的 index.php 后再在 phpmyadmin 中找到 think_session 表,我們會驚喜的發(fā)現(xiàn)多了條數(shù)據(jù)。
至此問題搞定。其他不要設(shè)置了,SessionDb.class.php會自動加載.
這樣ThinkPHP的調(diào)用
session('session_name','session_value')
系統(tǒng)就會自動把這個session存儲上面創(chuàng)建的數(shù)據(jù)庫中。
相關(guān)文章
PHP正則表達(dá)式過濾html標(biāo)簽屬性(DEMO)
這篇文章主要介紹了PHP正則表達(dá)式過濾html標(biāo)簽屬性的相關(guān)內(nèi)容,實用性非常,感興趣的朋友參考下吧2016-05-05
深入淺析php中sprintf與printf函數(shù)的用法及區(qū)別
這篇文章主要介紹了php中sprintf與printf函數(shù)的用法及區(qū)別,涉及到printf函數(shù)、sprintf函數(shù)相關(guān)資料,需要的朋友可以參考下2016-01-01

