|
本文以實(shí)例講解了Thinkphp實(shí)現(xiàn)將SESSION存入MYSQL的方法,所采用的運(yùn)行環(huán)境是Thinkphp3.1.2版
首先index.php中設(shè)置為:
<?phpdefine('APP_DEBUG', true);//設(shè)置為調(diào)試模式require '../Thinkphp/Thinkphp.php';//設(shè)置入口文件ini_set("session.save_handler", "user");//設(shè)置php的SESSION由用戶定義
在config.php中設(shè)置為:
<?phpreturn array(//'配置項(xiàng)'=>'配置值' // 添加數(shù)據(jù)庫(kù)配置信 'SHOW_PAGE_TRACE' =>true, 'DB_TYPE' => 'mysql', // 數(shù)據(jù)庫(kù)類型 'DB_HOST' => 'localhost', // 服務(wù)器地址 'DB_NAME' => 'thinkphp', // 數(shù)據(jù)庫(kù)名 'DB_USER' => '你的用戶名', // 用戶名 'DB_PWD' => '你的密碼', // 密碼 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => 'think_', // 數(shù)據(jù)庫(kù)表前綴綴'SESSION_OPTIONS'=>array( 'type'=> 'db',//session采用數(shù)據(jù)庫(kù)保存 'expire'=>1440,//session過(guò)期時(shí)間,如果不設(shè)就是php.ini中設(shè)置的默認(rèn)值 ),'SESSION_TABLE'=>'think_session', //必須設(shè)置成這樣,如果不加前綴就找不到數(shù)據(jù)表,這個(gè)需要注意);?>
數(shù)據(jù)庫(kù)設(shè)置采用SessionDb.class.php中的DDL,不過(guò)后面加了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)在訪問(wèn)你的 index.php 后再在 phpmyadmin 中找到 think_session 表,我們會(huì)驚喜的發(fā)現(xiàn)多了條數(shù)據(jù)。
至此問(wèn)題搞定。其他不要設(shè)置了,SessionDb.class.php會(huì)自動(dòng)加載.
這樣Thinkphp的調(diào)用
session('session_name','session_value')
系統(tǒng)就會(huì)自動(dòng)把這個(gè)session存儲(chǔ)上面創(chuàng)建的數(shù)據(jù)庫(kù)中。
php技術(shù):ThinkPHP實(shí)現(xiàn)將SESSION存入MYSQL的方法,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。