会话未设置,还是session_destroy?

Bas*_*sic 27 php

可能重复:
PHP中的session_unset()和session_destroy()有什么区别?

什么是最好的安全性,如果会话未设置,下次会话必须访问而不是重新创建时加载时间会更好?

Mik*_*wis 54

Unset将销毁特定会话变量,而session_destroy()将销毁该用户的所有会话数据.

这取决于你的应用程序,你应该使用哪一个.请牢记以上几点.

unset($_SESSION['name']); // will delete just the name data

session_destroy(); // will delete ALL data associated with that user.
Run Code Online (Sandbox Code Playgroud)

  • 我认为OP询问的是session_unset与session_destroy的差异.unset ans session_unset是不同的功能. (13认同)
  • 对于读者:不要使用unset($ _ SESSION)取消整个$ _SESSION,因为这将禁用通过$ _SESSION超全局注册会话变量. (6认同)
  • 谢谢你清理它,会话破坏似乎更安全:) (3认同)
  • 如果您的目标是销毁该用户的所有会话数据,是的. (2认同)

Mar*_*cel 9

需要注意的是,$_SESSION变量仍然在调用之后设置在同一页面中session_destroy(),因为在使用unset($_SESSION)或不是这种情况时$_SESSION = array().此外,unset($_SESSION)吹走了$_SESSION超全局所以只有做到这一点,当你摧毁一个会话.

尽管如此,最好像第一个例子中session_destroy()的PHP文档一样.

  • @wkm,"`session_destroy()`销毁与当前会话相关的所有数据.它不会取消设置与会话相关的任何全局变量,或者取消设置会话cookie.要再次使用会话变量,`session_start( )`必须被称为." - http://php.net/manual/en/function.session-destroy.php (3认同)