一,修改配置文件
Library/ThinkPHP/Conf/convention.php
SESSION_TYPE => "redis"
二,添加session redis驅動
Library/ThinkPHP/Think/Session/Driver/Redis.class.php
<?php
namespace Think\Session\Driver;
class Redis {
/**
* Session有效時間
*/
protected $lifeTime = '';
/**
* 數據庫句柄
*/
protected $hander;
protected $prefix = 'SESS:';
/**
* 打開Session
* @access public
*
* @param string $savePath
* @param mixed $sessName
*/
public function open($savePath, $sessName){
$this->hander = redis實例
$this->lifeTime = C('SESSION_OPTIONS.expire') ? C('SESSION_OPTIONS.expire') : ini_get('session.gc_maxlifetime');
$this->prefix = C('SESSION_PREFIX') ? C('SESSION_PREFIX') : $this->prefix;
return true;
}
/**
* 關閉Session
* @access public
*/
public function close(){
$this->gc($this->lifeTime);
$this->hander->close();
return $this->hander = null;
}
/**
* 讀取Session
* @access public
*
* @param string $sessID
*/
public function read($sessID) {
$res = $this->hander->get($this->prefix.$sessID);
if(!$res){
return '';
}
return $res;
}
/**
* 寫入Session
* @access public
*
* @param string $sessID
* @param String $sessData
*/
public function write($sessID, $sessData) {
$res = $this->hander->setex($this->prefix.$sessID, $sessData, $this->lifeTime);
if (!$res) {
return false;
} else {
return true;
}
}
/**
* 刪除Session
* @access public
*
* @param string $sessID
*/
public function destroy($sessID) {
$count = $this->hander->delete($this->prefix.$sessID);
if ($count) {
return true;
}
return false;
}
/**
* Session 垃圾回收
* @access public
*
* @param string $sessMaxLifeTime
*/
public function gc($sessMaxLifeTime) {
// Redis 自動回收
return true;
}
}
方法二,也可以直接修改php.ini
ini_set('session.save_handler','redis');
ini_set("session.save_path","tcp://127.0.0.1:6379");