thinkphp session设置

弄了半下午终于把thinkphp的session设置搞清楚了.现在的项目是二开的baocms在设置session的时候发现服务器不生成session文件,让人很是费解,然后就是开始bd,

bd说要生成session文件得设置session_save_path(),session_save_path()必须设置在session_start()之前(坑啊,让这给坑苦了..)

thinkphp有一个配置SESSION_TYPE ,session驱动(sessionDB)是把session的值存放到数据库里面的,里面用到了个函数session_set_save_handler(),设置了这个驱动就不会生成session文件了.

 

thinkphp   session函数是一个多元化操作函数,传入不同的参数调用可以完成不同的功能操作,包括下面一些功能

session在app.class.php static public function run(){}方法中 初始化 把 session_save_path()等属性设置,

 

Session初始化设置方法 无需手动调用,在App类的初始化工作结束后会自动调用,通常项目只需要配置SESSION_OPTIONS参数即可,SESSION_OPTIONS参数的设置是一个数组,支持的索引名和前面的session初始化参数相同。
默认情况下,初始化之后系统会自动启动session,如果不希望系统自动启动session的话,可以设置SESSION_AUTO_START为false,例如:

'SESSION_AUTO_START' =>false

 

SESSION_OPTIONS  

参数名              说明

   id                   session_id值

name                session_name 值

expire               session.gc_maxlifetime 设置值

domain             session.cookie_domain 设置值

use_cookies    session.use_cookies 设置值

use_trans_sid  session.use_trans_sid 设置值

cache_limiter   session_cache_limiter设置值

cache_expire   session_cache_expire设置值

type                 session hander类型,可以使用hander驱动扩展

 

session赋值

session('name','value');  //设置session 相当于 $_SESSION['name'] = 'value';

 Session取值

$value = session('name');

session 删除

session('name',null); // 删除name 相当于:unset($_SESSION['name']);

要删除所有的session,可以使用:session(null); // 清空当前的session 相当于$_SESSION = array();

参考的 文档http://www.thinkphp.cn/document/137.html

 

posted @ 2017-09-27 17:33  顺瓜摸藤  阅读(2473)  评论(0编辑  收藏  举报