zoukankan      html  css  js  c++  java
  • php中mongodb处理session的方法

       cookie只是session绑定客户端的一种途径,其它的还有比如url等 session_set_save_handler仅仅是对服务器端,session的存储方式,默认为文件存储,可更改为任何其它存储,比如数据库,memcache等
      可以使用 session_set_save_handler的函数:
      bool session_set_save_handler(callback $open, callback $close,
    callback $read, callback $write,
    callback $destroy, callback $gc)
        注意: 使用本函数前,先要配置php.ini文件,session.save_hadler=user ,否则,session_set_save_handler()不会生效。

       第一个参数是打开会话时调用的处理器,接受两个参数 save_path 和 session_name,分别是会话保存路径 (要记得 PHP 默认机制是文件方式的,因此有文件路径) 和 COOKIE 中用于保存 SESSION ID 的键名,其中键名可以通过 session_name 来获取和修改

    第二个参数是关闭会话时的处理器,没有参数

    第三个参数是读取会话时的处理器,接受一个参数 session_id,代表 COOKIE 中保存的会话 ID

    第四个参数是保存会话时的处理器,接受两个参数 session_id 和 session_data。官方手册中提及到,PHP 5.0.5 以后,close 和 write 处理器将会在类析构之后调用,因此处理器内不能使用类和抛出异常 (Exception 也是一个类) 而在析构函数内可以使用 SESSION,因此我们需要在程序中 (比如在 open 或者 read 处理器内) 声明一下保证让 session_write_close 在析构前完成

    register_shutdown_function('session_write_close');

    第五个参数是删除会话时的处理器,接受一个参数 session_id,代表 COOKIE 中保存的会话 ID

    最后一个参数是会话过期时的处理器,接受一个参数 maxlifetime,代表超时秒数

  • 相关阅读:
    题解 [APIO2014]连珠线
    题解 [ZJOI2019]语言
    题解 Hero meet devil
    题解 [BJOI2019]奥术神杖
    题解「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set
    题解 Sue的小球/名次排序问题/方块消除/奥运物流
    题解 「一本通 5.4 练习 1」涂抹果酱
    Mybatis的类型转换
    面试题:微服务熔断降级限流
    面试题:微服务网关
  • 原文地址:https://www.cnblogs.com/sky7034/p/2359617.html
Copyright © 2011-2022 走看看