數據庫配置文件位于 System 應用下的 Config 文件夾
/app/System/Config/Session.php
~~~
<?php
namespace App\System\Config;
class Session
{
public $name = 'SSID'; // 用在 cookie 或者 URL 中的會話名稱, 例如:PHPSESSID。 只能使用字母和數字,建議盡可能的短一些
public $expire = 1440; // 超時時間
public $driver = 'Default'; // SESSION 驅動 Default:系統默認/Mysql/Memcache/Memcached/Redis
// mysql 配置項
/*
public $mysql = array(
'host' => '127.0.0.1', // 主機名
'port' => '3306', // 端口號
'user' => 'root', // 用戶名
'pass' => '', // 密碼
'name' => 'beV2', // 數據庫名
'table' => 'session' // 存放session的表名
);
*/
// memcache 配置項,二維數組,可存放多個服務器配置
/*
public $memcache = array(
array(
'host' => '127.0.0.1', // 主機名
'port' => '11211', // 端口號
'timeout' => 0, // 超時時間
'persistent' => false, // 是否使用長連接
'weight' => 1 // 權重
)
);
*/
// memcached 配置項,二維數組,可存放多個服務器配置
/*
public $memcached = array(
array(
'host' => '127.0.0.1', // 主機名
'port' => '11211', // 端口號
'weight' => 1 // 權重
)
);
*/
// REDIS 設置項,未設置時使用系統 REDIS 設置
/*
public $redis = array(
'host' => '127.0.0.1', // 主機名
'port' => 6379, // 端口號
'timeout' => 0, // 超時時間
'persistent' => false, // 是否使用長連接
'password' => '', // 密碼,不需要時留空
'db'=> 0 // 默認選中數據庫
);
*/
}
~~~
## driver
驅動,配置緩存驅動類型,默認為PHP原生實現
當驅動類型為 Mysql/Memcache/Memcached/Redis 時,需要取消對應配置項注釋,并配置相關參數
## 使用 Mysql 存儲 Session
需要在數據庫中創建session表,表結構如下:
~~~
CREATE TABLE IF NOT EXISTS `session` (
`session_id` varchar(60) NOT NULL COMMENT 'session id',
`session_data` varchar(21782) NOT NULL COMMENT 'session 數據',
`expire` int(10) unsigned NOT NULL COMMENT '超時時間',
PRIMARY KEY (`sessionId`),
KEY `expire` (`expire`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8;
~~~
其中數據庫引警使用了 ENGINE=MEMORY,該引擎不支持 Text 類型,因此能存放的數據有限,如果對存儲內容長度有要求,可以改為其它存儲引擎,如:InnoDB
- 系統介紹
- 安裝
- 核心工廠(Be)
- 數據庫(Db)
- 配置文件
- 連接多個庫
- 獲取多條記錄
- 對象數組(getObjects)
- 二維數組(getArrays)
- 一維數組形式(getValues)
- 獲取帶索引的多條記錄
- 對象數組(getKeyObjects)
- 二維數組(getKeyArrays)
- 鍵值對(getKeyValues)
- 獲取迭代器形式的多條記錄
- 對象數組(getYieldObjects)
- 二維數組(getYieldArrays)
- 單列數組(getYieldValues)
- 獲取單條記錄
- 對象形式(getObject)
- 數組形式(getArray)
- 單個值(getValue)
- 插入/更新/替換
- 插入(insert)
- 批量插入(insertMany)
- 更新(update)
- 批量更新(updateMany)
- 替換(replace)
- 批量替換(replaceMany)
- 快速處理(quick***)
- 其它
- 防注入
- 執行SQL
- 事務/異常處理
- 表模型(Table)
- 條件查詢(where)
- 獲取多條記錄
- 對象數組(getObjects)
- 二維數組(getArrays)
- 獲取帶索引的多條記錄
- 對象數組(getKeyObjects)
- 獲取迭代器形式的多條記錄
- 聯表查詢
- 左連接(leftJoin)
- 右連接(rightJoin)
- 內連接(innerJoin)
- 聚合
- 求和(sum)
- 匯總(count)
- 最小值(min)
- 最大值(max)
- 平均值(avg)
- 其它
- 行模型(Tuple)
- 緩存(Cache)
- 配置文件
- 如何使用
- 會話(Session)
- 配置文件
- 如何使用
- Cookie
- 主題、模板
- 主題/模板結構
- 模板繼承
- 模板包含
- 注解
- 配置文件
- 配置項驅動:整型
- 配置項驅動:字符
- 控制器權限
- 擴展(Plugin)