gpt4 book ai didi

php - 为什么使用session时需要session_start?

转载 作者:可可西里 更新时间:2023-11-01 13:40:51 26 4
gpt4 key购买 nike

为什么我可以在没有任何准备的情况下使用 setcookie 而在使用 $_SESSION 之前需要一个 session_start()?我认为他们所做的工作是类似。

最佳答案

因为 setcookie() 定义要与其余 HTTP header 一起发送的 cookie。这与 session_start() 完全不同。确实,例如根据通过 GET 或 POST 请求或通过 cookie 传递的 session 标识符创建 session 或恢复当前 session 。

第一个只是向 header 添加一些内容并将其发送浏览器,而另一个 $_COOKIEs 或$_GET 或$_POST 获取 session ID,然后尝试在 session_save_path 中查找 session 文件当发现将它的值反序列化为 $_SESSION 时,如果没有,则创建一个新 session ,可能在过程中使用 setcookie 来设置 session ID。

参见 chapter on Sessions in the PHP Manual.


<子>编辑 正如@Felix 在下面正确指出的那样, session 不一定保存在文件中。不过这并不重要,因为参数保持不变:session_start 将找到并(重新)初始化您的 session 数据,而 setcookie 只是按照名称的含义进行操作。

关于php - 为什么使用session时需要session_start?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com