说说session里相关的事情(一)

 
    session工做机制是:当程序须要为某个客户端的请求建立一个session的时候,服务器首先会检查这个客户端是否包含了一个session标志,咱们称之为session_id,若是客户端不包含session_id,会从新生成一个session_id。
    session关闭条件:1.启用了session_destroy重置函数时候删除2session的上次活动时间距离当前时间的间隔超过了session的超时设置时间也会自动关闭3.服务器进程被中止
    session的默认生命周期在php5里是180分钟(每一个客户端访问都会留一个session的小文本占用一点内存作记录,因此要按期清除必定的session,为了保证性能)
    与session相关的一些经常使用函数:
    1. session_id  获取当前的session_id  会话识别id
    若是指定了 id 参数的值, 则使用指定值做为会话 ID。 必须在调用 session_start() 函数以前调用 session_id() 函数。 不一样的会话管理器对于会话 ID 中可使用的字符有不一样的限制。
    2.session_name — 读取/设置会话名称  session_name() 函数返回当前会话名称。 若是指定 name 参数, session_name() 函数会更新会话名称, 并返回 原来的 会话名称。
        3.session_save_path ([ string $path ] ) session的保存地址 默认的保存文件名称是sess_SESSIONID
    session的默认读取函数
    4.session_set_save_handler
     设置用户自定义会话存储函数  默认的使用例子
    class MySessionHandler implements SessionHandlerInterface
             {
                   // 在这里实现接口
                }

               $handler = new MySessionHandler();
               session_set_save_handler($handler, true);
               session_start();
    
    
    
    php.ini里与session相关的最经常使用的设置:
    1.session.use_cookies默认值是1.表示用cookie来传递session_id(),反之是用query_string来传递
    2.session.name 这是用来储存session_id的键值,默认是PHPSESSID。session经过这个来保存session的信息
    3.session.cookie_lifetime:这个表明SessionID在客户端Cookie储存的时间,默认是0,表明浏览器一关闭SessionID就做废……就是由于这个因此Session不能永久使用!
    4.session.gc_maxlifetime = 1440  这个是Session数据在服务器端储存的时间,若是超过这个时间,那么Session数据就自动删除!
    5.session的保存路径:(有些系统没有权限读取默认的session储存路径Linux里是/tmp)
     session_save_path(dirname(__FILE__).'/phpernote/');
     设置保存路径的时候,须要先先于session_start()的启动  不然是保存不了的
    ini_set('session.save_path', dirname(__FILE__).'/phpernote/');php

相关文章
相关标签/搜索