PHP5中Session生命周期研讨

网络整理 - 08-25

  PHP5有很多值得学习的地方,这里我们主要介绍PHP5 Session的使用,Session 是如何来判断客户端用户的呢?它是通过 Session ID 来判断的,什么是 Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保Session 的安全。一般如果没有设置 Session 的生存周期,则 Session ID 存储在内存中,关闭浏览器后该 ID 自动注销,重新请求该页面后,重新注册一个 Session ID。

  如果客户端没有禁用 Cookie,则 Cookie 在启动 Session 会话的时候扮演的是存储 Session ID 和 Session 生存期的角色。我们来手动设置 Session 的生存期:

  <?php

  session_start();

  // 保存一天

  $lifeTime = 24 * 3600;

  setcookie(session_name(), session_id(), time() + $lifeTime, "/");

  ?>

  其实PHP5 Session还提供了一个函数 session_set_cookie_params(); 来设置PHP5 Session的生存期的,该函数必须在 session_start() 函数调用之前调用:

  <?php

  // 保存一天

  $lifeTime = 24 * 3600;

  session_set_cookie_params($lifeTime);

  session_start();

  ?>