本文阐述了保存会话为例,MySQL的thinkphp实现方法。运行环境是thinkphp3.1.2版

首先,index.php设置为:


< PHP
定义('app_debug',true); / /设置为调试模式
需要: / / ThinkPHP ThinkPHP。php; / /设置入口文件
ini_set(的会议。save_handler




在config.php,它被设置为:


< PHP
返回的数组( / / 'configuration= >配置价值
添加数据库配置信息
show_page_trace= >真的,
db_type= > 'mysql ' / /数据库类型
db_host= > 'localhost ' / /服务器地址
db_name= > 'thinkphp ' / /数据库名称
db_user= >用户名 / /用户名
db_pwd= >密码 / /密码
db_port= > 3306, / /端口
db_prefix= > 'think_,数据库表前缀/后缀
session_options= >阵列(
类型= > 'db, / /会话保存在数据库中
过期= > 1440, / /会话过期时间,如果没有设置中设置的默认值
),
session_table= > 'think_session ' / /必须以这样一种方式,没有前缀的找不到数据表,需要注意
);
>



数据库设置使用DDL在SessionDb.class.php,但发动机= MyISAM默认的字符集utf8是后来加上去的


创建表(think_session
session_id varchar(255)不为空,
session_expire int(11)不为空,
session_data BLOB,
独特的关键` session_id `(` session_id `)
)= MyISAM引擎默认的字符集utf8;




现在,当你访问你的index.php在phpMyAdmin找到think_session表,我们会惊讶地发现,越来越多的数据。

在这一点上,问题解决了。别人不成立,sessiondb.class.php会自动加载。

所以ThinkPHP呼叫


会话('session_name ','session_value)


系统自动将会话存储在上面创建的数据库中。