PHP session_start()函数:为什么每次我使用与PHP会话相关的任何东西时都需要它

Sum*_*pta 10 php session logout

要从我的网站注销用户,我将页面重定向到logout.php我正在使用session_destroy()函数的位置.即便如此,如果没有session_start()功能,注销功能也无法正常工作.通过在函数之前添加session_start()函数session_destroy(),我可以成功注销用户.

为什么我需要在session_start()每次和每个页面中使用函数来执行与会话相关的操作?

Pek*_*ica 12

为什么我需要每次在每个页面中使用session_start()函数,我正在做与会话相关的事情?

所以PHP知道要销毁哪个会话.session_start()查看是否存在会话cookie或ID.只有这些信息才能摧毁它.

  • 可能你只创建一个会话.在调用第一个session_start()之后,除非为后续的session_start()调用指定不同的会话ID,否则它将默认为原始会话ID(存储在用户cookie或url中). (2认同)

Joh*_*ght 12

session_destroy()会破坏活动会话.如果你没有初始化会话,就没有什么可以被销毁的.


Jes*_*nch 5

在默认配置中,PHP 会话在硬盘上运行。PHP 要求您在需要此支持时明确告诉它,以避免不必要的磁盘 IO。

session_start() 还告诉 PHP 找出用户的会话是否存在。