cookie 和 session 和 session id

//session_start();
$sid = session_id();
如果没有session_start则返回''
如果有session_start则返回一个字符串
且这个字符串是cookie的值不是name
===
session这个是怎么生成的
1 当用户访问一个网址,浏览器会在请求头中生成一个session name = session value
如果用户不登录,则这个session对则会一直使用下去
如果用户登录了,则服务器会生成新的session对值
当用户关闭了浏览器, 重新登录这个网站还是会生成同一个cookie value 【其实就是一个session id】
[SESS69294397ac54ad21ee08e43b6a520f79=_tP6dqnLIGp_Vz3n_Q68XJ-aWjeucHqoXu-10jC0pfo]

[[第二天打印出来:$_COOKIE --> array(1) { ["SESS69294397ac54ad21ee08e43b6a520f79"]=> string(43) "_tP6dqnLIGp_Vz3n_Q68XJ-aWjeucHqoXu-10jC0pfo" }]]
记录一下试试看
--但如果用户登录了,则服务器会生成一个自己的session id 一方面放到自己服务器的文件系统,另一方面放到cookie的value里
并且在有效期内不会变化,一般有效期是23天哦。可以看看。
==
session_id() 的返回值是一个字符串
当在代码中使用了
session_start()
$sid = session_id();
var_dump($_COOKIE);
这时会出现一个cookie作为一个数组有两个元素,包含浏览器生成的SESSION ID 还有代码生成了session ID

 -------------------------
也许在开发中要注意
先看看有没有已有的条件可以利用
不行的话才考虑是不是要更多的加进去什么东西
因为drupal8系统很大
有很多便利条件什么属性方法都可能已经有了
但我们没有注意到

原文地址:https://www.cnblogs.com/qinqiu/p/9042053.html