为什么session_destroy无法取消设置当前会话值php

Wei-Jie Yu
session_start();
$_SESSION['name'] = 'Sam';
echo $_SESSION['name'];//Sam
session_destroy();
echo $_SESSION['name'];//Sam

我知道使用unset()$_SESSION = array()可以取消设置$ _SESSION值,但是我仍然想知道为什么session_destroy()不能取消设置$ _SESSION值,究竟是session_destroy()怎么做的?

什么时候适合使用session_destroy()

session_destroy()使用后需要打电话unset()吗?

巴托斯·扎萨达

的手动输入为session_destroy

session_destroy()销毁与当前会话关联的所有数据。它不会取消设置与该会话关联的任何全局变量,也不会取消设置会话cookie。

因此,session_destroy()将销毁数据的实际存储位置(文件系统/ memcached / Redis /无论如何,取决于已配置的会话处理程序),但相同的数据仍将保留在$_SESSION超全局变量的内存中,直到您明确取消设置它为止,或者用unset()$_SESSION = []

因此,是的,您必须session_destroy()在使用后调用unset(),如手册页上的示例所述session_destroy()https : //www.php.net/manual/en/function.session-destroy.php#refsect1-function.session-destroy -例子

最后,回答您的主要问题“为什么session_destroy无法取消设置当前会话值php”:因为这不是该函数的作用。手册说明了一切。只需仔细阅读它,您将了解会话清理的所有知识。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

session_destroy()在PHP中做什么?

来自分类Dev

session_destroy和cookie过期后无法设置cookie

来自分类Dev

为什么取消设置/销毁会话无效?

来自分类Dev

尽管称为 session_destroy(),但会话并未销毁

来自分类Dev

logout.php没有session_destroy

来自分类Dev

关于session_destroy的晦涩

来自分类Dev

Unset() 和 session_destroy();

来自分类Dev

警告:session_destroy():试图销毁未初始化的会话[session_start() used]

来自分类Dev

错误— session_destroy()—试图破坏未初始化的会话

来自分类Dev

PHP中的unset($ _ SESSION []),session_unset()和session_destroy()之间的区别

来自分类Dev

PHP中的unset($ _ SESSION []),session_unset()和session_destroy()之间的区别

来自分类Dev

PHP会话,为什么多次需要session_start()?

来自分类Dev

当我不调用取消设置的href时,为什么我的会话变量未设置

来自分类Dev

PHP:取消设置数组$ _SESSION

来自分类Dev

session_destroy() 不适用于服务器上的 PHP > 7.0

来自分类Dev

存储会话密钥的值然后取消设置?

来自分类Dev

为什么不取消从其中删除index.php的设置

来自分类Dev

在分配?_SESSION php之前取消设置?_SESSION

来自分类Dev

PHP会话变量随机取消设置

来自分类Dev

无法设置PHP接口功能-为什么?

来自分类Dev

将会话值而不是destroy_session()设为空

来自分类Dev

一小时后使用php无法取消会话设置?

来自分类Dev

Django HTTPS设置:为什么同时设置SESSION_SAVE_EVERY_REQUEST和SESSION_COOKIE_SECURE中断会话?

来自分类Dev

cookie-session 无法设置会话

来自分类Dev

PHP无法设置会话变量

来自分类Dev

PHP - 使用 foreach 取消设置 $_SESSION 变量

来自分类Dev

无法启动会话:已由PHP启动(已设置$ _SESSION)。500内部服务器错误-RuntimeException

来自分类Dev

取消设置命令后无法推入会话数组

来自分类Dev

为什么无法设置值以使用javascript输入

Related 相关文章

  1. 1

    session_destroy()在PHP中做什么?

  2. 2

    session_destroy和cookie过期后无法设置cookie

  3. 3

    为什么取消设置/销毁会话无效?

  4. 4

    尽管称为 session_destroy(),但会话并未销毁

  5. 5

    logout.php没有session_destroy

  6. 6

    关于session_destroy的晦涩

  7. 7

    Unset() 和 session_destroy();

  8. 8

    警告:session_destroy():试图销毁未初始化的会话[session_start() used]

  9. 9

    错误— session_destroy()—试图破坏未初始化的会话

  10. 10

    PHP中的unset($ _ SESSION []),session_unset()和session_destroy()之间的区别

  11. 11

    PHP中的unset($ _ SESSION []),session_unset()和session_destroy()之间的区别

  12. 12

    PHP会话,为什么多次需要session_start()?

  13. 13

    当我不调用取消设置的href时,为什么我的会话变量未设置

  14. 14

    PHP:取消设置数组$ _SESSION

  15. 15

    session_destroy() 不适用于服务器上的 PHP > 7.0

  16. 16

    存储会话密钥的值然后取消设置?

  17. 17

    为什么不取消从其中删除index.php的设置

  18. 18

    在分配?_SESSION php之前取消设置?_SESSION

  19. 19

    PHP会话变量随机取消设置

  20. 20

    无法设置PHP接口功能-为什么?

  21. 21

    将会话值而不是destroy_session()设为空

  22. 22

    一小时后使用php无法取消会话设置?

  23. 23

    Django HTTPS设置:为什么同时设置SESSION_SAVE_EVERY_REQUEST和SESSION_COOKIE_SECURE中断会话?

  24. 24

    cookie-session 无法设置会话

  25. 25

    PHP无法设置会话变量

  26. 26

    PHP - 使用 foreach 取消设置 $_SESSION 变量

  27. 27

    无法启动会话:已由PHP启动(已设置$ _SESSION)。500内部服务器错误-RuntimeException

  28. 28

    取消设置命令后无法推入会话数组

  29. 29

    为什么无法设置值以使用javascript输入

热门标签

归档