注意:
在php服务器端叫session,在浏览器端叫cookie。
session_start()是session机制的开始.
中间可以对session做很多操作。同时也产生了两个超级全局数组变量。在任何页面之间共享。
两个变量是:$_SESSION和$_COOKIE.
$_SESSION默认是空置。可以赋值重定义值。比如
$_SESSION[‘valid_user’]=$userid;
$_SESSION[‘role’]=’admin’;
$_COOKIE默认只包含session的value。一长串随机值。该值等于session_id()。
可以创建自定义的session相关值,比如:
session_name(“PHPSESSID”); //定义session的名称,默认是“PHPSESSID”。是在php.ini中定义的。即:session.name = PHPSESSID //默认值PHPSESSID
setcookie(session_name(),session_id(),time()+86400,’/’); //对生成的session进行做其他设置,time()+86400为有效期1天。‘/’ 指定session对应的路径,默认是’/’.也是在php.ini定义的。
备注:
当启用session会话是,默认就会生成一个’/’ path的cookie。如果多个网站在一个域名之下并且执行不同的身份验证和退出机制。可能会遇到问题。最好使用不同的域名访问,指向同一个服务器。产生的cookie就不同了。
使用命令php -i 或php-fpm -i都可以看到很多关于php的信息。这个信息没有记载php.ini配置文件和php-fpm.conf。都是默认配置。