11、ThinkPHP自定义SESSION处理DB驱动

阅读() @2018-07-15 14:13:38

用户登录之后要使用session进行验证,如果数据量很小的话,可以用文件进行存储,但是用户访问数据量太大,使用数据库存储session,效率会更高。下面是ThinkPHP使用数据库处理session的方法:

首先知道,ThinkPHP处理数据库存储session的类文件的位置是ThinkPHP/Extend/Driver/Session/SessiionDb.class.php。

然后在config配置文件中添加如下代码:

//自定义session存储位置(数据库)
 'SESSION_TYPE'=>'db',
 //SESSION自动开启或关闭
 'SESSION_AUTO_START'=>FALSE

默认情况下,可以把session关闭,等需要的时候再开启,这样更加节省资源。

接下来将SessiionDb.class.php文件中被注释掉的创建数据库表的代码复制下来并且在命令行工具中执行,用于创建session表。

//数据库方式Session驱动
 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`)
 );

好了,这样就可以在控制器中使用$_SESSION['uname'] = 'username'为添加session数据或者是使用session_destroy()方法销毁session数据。

微信二维码
锐壳主机