什么是PHP Session?如何配置Session?

在Web 技术发展历史上,虽然 Cookie 技术的出现是一次重大的变革,但 Cookie 需要在客户端存储数据 ,这就存在一个隐私问题:用户有权阻止 Cookie 使用,使 Web 服务器无法通过 Cookie 来跟踪用户信息。而 Session 技术是将使用者相关的资料存放在服务器系统之下,用户是无法停止 Session 的。

可以把 Cookie 比喻成,商家为客户办理的会员卡,所有信息均存储在该卡的芯片上。如果客户下次忘记携带会员卡,或者卡丢失了,这样客户就不能再次使用会员身份了。但如果商家为客户办理完会员卡之后,所有信息均存储在商家的服务器上,用户就不需要把卡放在自己身上了。不过由于会员卡数量众多,客户每次来消费时,商家需要客户提供会员卡号或身份识别标识而已,通过卡号或识别标识,商家就可以查询到会员卡的相关信息、消费记录等。

Session会在客户端保存由服务器为用户创建的一个 Session 标识符(相当于会员卡的卡号),称之为Session ID,而在服务器端(文件/数据库中)保存 Session 变量的值。

在PHP开发中如何应用PHP Session?

也就是说, Session是服务器端技术,利用这个技术,服务器可以为每个用户的浏览器创建一个为其独享的session文件,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其他web资源时,其他web资源再从用户各自的session中取出数据为用户服务。

对于PHP开发者来说,可以通过以下示例即可理解。

aaa.php与bbb.php两个文件,其中aaa.php如下:

<?php
session_start(); // 初始化session
$_SESSION['name'] = "张三"; // 将姓名存储到Session

bbb.php如下:

<?php
session_start();
echo $_SESSION['name']; // 显示Session中的name

先运行aaa.php,再运行bbb.php,将在网页中输出:张三

在PHP环境中如何配置PHP Session?

php.ini中Session设置参考项:

处理session存取的模式
session.save_handler = files

session档案存放路径
session.save_path = /tmp

session使用cookie的功能,启动: 1
session.use_cookies = 1

session名字
session.name = PHPSESSID

自动启动开关,0关、1开启
session.auto_start = 0

session使用cookie的生存期,以秒为单位
session.cookie_lifetime = 0

cookie有效作用域名
session.cookie_domain = “zhanzhangb.com”

session.gc_probability/session.gc_divisor不建议设置过小,因为session的垃圾回收,是需要检查每个文件是否过期的
session.gc_probability = 1
session.gc_divisor = 1000

过期时间 默认24分钟
session.gc_maxlifetime = 1440

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:小林博客 www.vvso.cn小林博客 » 什么是PHP Session?如何配置Session?
分享到: 更多 (0)

评论 抢沙发

切换注册

登录

忘记密码 ?

切换登录

注册