[英]How does PHP set the PHPSESSID into $_COOKIE superglobal variable without using the function setcookie() or setrawcookie()?
我正在学习PHP最重要和最难理解的概念,即。 “会话和Cookie”
根据我的理解,只能使用setcookie()
或setrawcookie()
函数将cookie设置到浏览器中。
根据我对会话过程的理解,它的工作方式如下。
PHPSESSID
。 为了在我的PHP代码中引用会话ID,因此,我将引用变量$ PHPSESSID(这是一个cookie名称) 如果以上说明中我的理解有误,请纠正我。
我的疑问是,由于会话正在$_COOKIE
超全局变量中设置一些值,因此无法使用setcookie() or setrawcookie()
任何函数,那么会话ID仍如何存储为cookie变量?
如果我假设将会话ID设置为cookie变量,并且内部可能已调用setccookie() or setrawcookie()
那么在调用函数setccookie() or setrawcookie()
来设置cookie时设置的参数值是什么?值?
谢谢。
Cookie的默认名称是
PHPSESSID
。 要在PHP代码中引用会话ID,因此,我将引用变量$PHPSESSID
不,它只是cookie的名称,不会将其设置为全局变量。 您可以在$_COOKIE['PHPSESSID']
访问值。 但是,实际上,这根本不关心您,您只应使用session_*
函数和$_SESSION
超全局变量与PHP的会话API进行交互,对于大多数意图和目的,所使用的基础cookie都不是您所关心的。
…在任何地方都无法使用
setcookie()
或setrawcookie()
函数……如果我假设将会话ID设置为cookie变量,并且内部可能已调用
setccookie()
或setrawcookie()
…
是的,PHP内部调用了一些将设置cookie的函数。 它可能既不是setcookie
也不是setrawcookie
而是一些内部C函数来设置cookie。 再次,这实际上与您无关。 您只需要了解调用session_start
会在某种程度上内部导致设置cookie。
…那么调用函数
setccookie()
或setrawcookie()
设置cookie值时设置的参数值是多少?
这些由您可以通过session_set_cookie_params
或ini_set
设置的各种session.cookie_*
参数确定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.