session是根据php.ini中的配置, 存储在 服务器端 ; 生成的sessionId ,也是根据 php.ini 的配置 存储在 客户端cookie中.
session的设置:
- 存储方式:session.save_handler=files 文件
- 存储路径(服务器中):session.save_path="D:xampp mp"
sessionID(存储于cookie中, 浏览器上):
- 是否将sessionId存储于cookie中: session.use_cookies=1
- 是否仅使用cookie存储sessionId: session.use_only_cookies=1 .(还可以自动添加在url上)
- 存储sessionId的cookie的名字: session.name=PHPSESSID
- session是否自动加载: session.auto_start=0 (自动加载就不需要 session_start, 最好不开启自动加载)
- 存储sessionId的cookie的生存时间: session.cookie_lifetime=0
- 存储sessionId的cookie的url路径: session.cookie_path=/
- 存储sessionId的cookie的域名: session.cookie_domain=
- 存储sessionId的cookie,是否仅是http访问: session.cookie_httponly=
----
一:准备工作:
- 目录a
- session.php
- getSession.php
- test目录:
- session1_1.php
- session1_2.php
- getSession1_1.php
----------
1.session.php
1 <?php 2 3 session_start(); 4 $_SESSION["test"] = "this is a test"; 5 6 7 ?>
------
2.getSession.php
1 <?php 2 3 session_start(); 4 echo "<pre>"; 5 echo '顶层'; 6 7 var_dump($_SESSION); 8 9 10 ?>
----------
3.session1_1.php
1 <?php 2 session_start(); 3 $_SESSION["test1_1"] = "this is test1_1"; 4 unset($_SESSION["test2"]); 5 6 ?>
--------
4.session1_2.php
1 <?php 2 ini_set('session.cookie_path', '/test/') 3 session_start(); 4 $_SESSION["test1_2"] = "this is test1_2"; 5 6 ?>
--------
5.getSession1_1.php
1 <?php 2 3 session_start(); 4 echo "<pre>"; 5 echo "www.a.com/test/目录下"; 6 var_dump($_SESSION); 7 ?>
二.操作1
1. 先后 访问. www.a.com/session.php 和 www.a.com/test/session1_1.php
2.访问 www.a.com/getSession.php
www.a.com/session.php 和 www.a.com/test/session1_1.php 中设置的 变量都可以获取.
3.访问 www.a.com/test/getSession1_1.php
www.a.com/session.php 和 www.a.com/test/session1_1.php 中 设置的变量 都可以访问到.
4. 查看. 服务器端的session保存路径: session.save_path="D:xampp mp"
打开这个序列化的文件,查看:
test|s:14:"this is a test";test1_1|s:15:"this is test1_1";
我们在不同的目录下,设置了两次 session, 当时 服务器端保存session的文件 只有一个.
5. 查看 浏览器中 ,保存sessionId的 cookie
三:操作3.
1. 在 操作二的基础上, 继续 访问 www.a.com/test/session1_2.php
2.访问www.a.com/getSession.php
3.访问 www.a.com/test/getSession1_1.php
4. 服务器端存储的session.
文件名没有变化 ,修改时间 从 14:03 变为 14:16 .
打开观察:
test|s:14:"this is a test";test1_1|s:15:"this is test1_1";test1_2|s:15:"this is test1_2";
增加了 test1_2 .
5. 查看 浏览器端cookie:
同操作二中的时间 ,没有任何变化.
------------------------------