gpt4 book ai didi

php - session_destroy() 在 PHP 中有什么作用?

转载 作者:可可西里 更新时间:2023-11-01 13:21:15 27 4
gpt4 key购买 nike

在PHP手册中,对session_destroy()的描述功能是:

session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called.

我对这个描述感到困惑。如果此函数销毁所有 session 数据,那么为什么与 session 关联的全局变量没有被取消设置?为什么我们可以再次使用 session 变量?

最佳答案

I am confused about this description. If this [session_destroy()] function destroys all session data, then why the global variables associated with the session are not unset? Why can we use the session variables again?

session 数据是与 session 关联的数据。 session 由其名称( session 名称)及其 ID( session ID)定义。

通过使用该函数,所有这些 session (名称 + id)数据都被销毁。

允许您读取/设置该数据的变量容器仍然存在,因此您可以对该数据进行操作(例如,上次事件中可能有信息,这是一个注销,您想存储上次事件知道在注销或进入某些日志或数据库时,为什么要删除它?这会适得其反,因为您想快速销毁(或提交) session ,例如,当您知道只需要只读访问时,将 session 数据保存在内存中,但已经提交 session ,因为不需要保持打开状态)。

请记住,即使这些变量可以通过 $_SESSION 访问,它们也不再是 session 的一部分。也许这就是令人困惑的部分?

顺便说一句,我的描述并不完全正确。 PHP 在内部仅通过 ID 识别 session 数据,因此您可以更改 session 名称,session_destroy() 仍会删除 session 数据,因为 session ID 未更改。

关于php - session_destroy() 在 PHP 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18549211/

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