ThinkPHP實現將SESSION存入MYSQL的方法

來源:互聯網
上載者:User

標籤:入mysql資料庫

首先index.php中設定為:

<?php
define(‘APP_DEBUG‘, true);//設定為偵錯模式
require ‘../ThinkPHP/ThinkPHP.php‘;//設定入口檔案
ini_set("session.save_handler", "user");//設定PHP的SESSION由使用者定義



在config.php中設定為:

<?php
return array(//‘配置項‘=>‘配置值‘
      // 添加資料庫配置信
  ‘SHOW_PAGE_TRACE‘ =>true,
  ‘DB_TYPE‘  => ‘mysql‘, // 資料庫類型
  ‘DB_HOST‘  => ‘localhost‘, // 伺服器位址
  ‘DB_NAME‘  => ‘thinkphp‘, // 資料庫名
  ‘DB_USER‘  => ‘你的使用者名稱‘, // 使用者名稱
  ‘DB_PWD‘  => ‘你的密碼‘, // 密碼
  ‘DB_PORT‘  => 3306, // 連接埠
  ‘DB_PREFIX‘ => ‘think_‘, // 資料庫表首碼綴
‘SESSION_OPTIONS‘=>array(
    ‘type‘=> ‘db‘,//session採用資料庫儲存
    ‘expire‘=>1440,//session到期時間,如果不設就是php.ini中設定的預設值
  ),
‘SESSION_TABLE‘=>‘think_session‘, //必須設定成這樣,如果不加首碼就找不到資料表,這個需要注意
);
?>


資料庫設定採用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;



現在訪問你的 index.php 後再在 phpmyadmin 中找到 think_session 表,我們會驚喜的發現多了條資料。
 至此問題搞定。其他不要設定了,SessionDb.class.php會自動載入.

這樣ThinkPHP的調用

session(‘session_name‘,‘session_value‘)


文章轉載自網管之家:http://www.bitscn.com/pdb/php/201408/305909.html

ThinkPHP實現將SESSION存入MYSQL的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.