它是通过 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(); ?> |
关键字词:
相关文章
- php中的php.ini设置session超时
- 关于Yii2高级版多后台开发实例说明
- thinkphp将php session存入MySQL过程
- php5.5 版本和5.6 file_get_contents curl
- php 获取全部post参数 php5.5 php5.6
- PHP5.6接口报错提示 Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version
- php session_start无法开启和使用Cannot send session cache limiter - headers already sent错误解决方法
- PHP保存session到memcache服务器的方法
- php session的锁和并发
- php5.4传引用时报错问题分析