大致了解了session的工作流程:1、客户端访问站点——>2、auto_start或session_start方式检查是否是新用户——>3、对于已经有记录的用户,重建会话;对于新访问的或之前有访问但已经过期的用户会话,重新创建会话, 并自动分配UID (可通过session_id()取得)——>4、用户操作,更新session数据——>5、用户关闭浏览器,根据php.ini中sessionlifetime的设置确定该会话立即销毁还是保存一段时间。
会话支持在 PHP 中是在并发访问时由一个方法来保存某些数据.从而使你能够构建更多的定制程序 从而提高你的 web 网站的吸引力.
一个访问者访问你的 web 网站将被分配一个唯一的 id, 就是所谓的会话 id. 这个 id 可以存储在用户端的一个 cookie 中,也可以通过 URL 进行传递.该id可通过session_id()设置或取得。
会话支持允许你将请求中的数据保存在超全局数组$_SESSION中. 当一个访问者访问你的网站,PHP 将自动检查(如果session.auto_start 被设置为 1)或者在你要求下检查(明确通过 session_start() 或者隐式通过 session_register()) 当前会话 id 是否是先前发送的请求创建. 如果是这种情况, 那么先前保存的环境将被重建.
$_SESSION (和所有已注册得变量) 将被 PHP 使用内置的序列化方法在请求完成时 进行序列化.序列化方法可以通过session.serialize_handler 这个 PHP 配置选项中来设置一个指定的方法.注册的变量未定义将被标记为未定义.在并发访问时,这些变量不会被会话模块 定义除非用户后来定义了它们.