我做了一下测试,我在页面写上代码
setcookie('name','joe',time()+3600)
然后在win7系统本机路径里能找到一个名为cookie:administrator@localhost的文档文件,打开里面就存有namejoe的值,测试通过。
然后我把代码改成
session_start();
$_SESSION['age']=17;
访问页面,在相同路径下并没有发现session产生的cookie文件,但是在代码里添加上
echo COOKIE['PHPSESSID'];
输出76sds8f6s8s6,说明通过session确实生成了cookie文件,那么cookie文件在哪里?
概念上你有点混乱
首先,你每次请求无论你用不用$_SESSION,都会生成一个key为phpsessid的cookie,假设为76sds8f6s8s6
其次,你服务器端用$_SESSION存储key为age的值时,并不会对应的生成一个cookie到本地,而是在服务器端生成了SESS_76sds8f6s8s6类似的文件(取决于你的PHP.INI配置选项)
最终,你在另外一个页面想获取这个age的值,PHP是通过你本机的phpsessid值76sds8f6s8s6,在服务器端找到对应的SESSION文件中age的值