php中sisson用法,PHP: 基本用法 - Manual

基本用法

通过为每个独立用户分配唯一的会话 ID,可以实现针对不同用户分别存储数据的功能。

会话通常被用来在多个页面请求之间保存及共享信息。

一般来说,会话 ID 通过 cookie 的方式发送到浏览器,并且在服务器端也是通过会话 ID 来取回会话中的数据。

如果请求中不包含会话 ID 信息,那么 PHP 就会创建一个新的会话,并为新创建的会话分配新的 ID。

会话的工作流程很简单。当开始一个会话时,PHP 会尝试从请求中查找会话 ID (通常通过会话 cookie),

如果请求中不包含会话 ID 信息,PHP 就会创建一个新的会话。

会话开始之后,PHP 就会将会话中的数据设置到

默认情况下,PHP 使用内置的文件会话保存管理器(files)来完成会话的保存。

也可以通过配置项 session.save_handler 来修改所要采用的会话保存管理器。

对于文件会话保存管理器,会将会话数据保存到配置项

session.save_path 所指定的位置。

可以通过调用函数 session.auto_start 设置为1,

那么请求开始的时候,会话会自动开始。

PHP 脚本执行完毕之后,会话会自动关闭。

同时,也可以通过调用函数

示例 #1

session_start();

if (!isset($_SESSION['count'])) {$_SESSION['count'] =0;

} else {$_SESSION['count']++;

}?>

示例 #2

session_start();

unset($_SESSION['count']);?>

警告

千万不要使用 unset($_SESSION) 来复位超级变量

警告

由于无法将一个引用恢复到另外一个变量,

所以不可以将引用保存到会话变量中。

注意:

无论是通过调用函数 session.auto_start 自动开启会话,

对于基于文件的会话数据保存(PHP 的默认行为)而言,

在会话开始的时候都会给会话数据文件加锁,

直到 PHP 脚本执行完毕或者显式调用

对于大量使用 Ajax 或者并发请求的网站而言,这可能是一个严重的问题。

解决这个问题最简单的做法是如果修改了会话中的变量,

那么应该尽快调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值