PHP 自定义会话名称
PHP Custom Session Name
我已经编写网站代码很长时间了,但从未使用 PHP 中内置的 session_name()
函数来设置自定义会话名称而不是默认值(PHP SESSID).
我有一个登录页面,可以在您成功登录后将您重定向到另一个文件。在那个文件中,我基本上是在检查 isset($_SESSION)
如果我没有设置我重定向到登录页面。否则,我说 Hello $_SESSION["Username"]
.
我最近决定使用 session_name
并设置一个自定义名称。但是,现在第二个文件中的脚本(检查是否设置了 $_SESSION
)总是说它没有设置。我刚刚更改了会话名称。
然后我在 Google 上四处搜索,发现我需要在第二个文件中再次执行 sesssion_name()
和 session_start()
才能访问用户名。
TL;DR
我是否总是需要对每个文件执行 session_name()
和 session_start()
才能使用自定义会话名称访问我的会话数据?
有不明白的地方我可以澄清一下;可能不太容易理解。
您需要 运行 session_name()
在每个需要访问自定义会话的文件上,将逻辑存储在一个单独的包含文件中,该文件包含在所有相关文件中,或者更改PHP 的默认会话名称通过 session.name
configuration value.
如果不在每种情况下指定 session_name()
,PHP 将不知道您希望它使用不同的名称,而是默认使用 session.name
中的值。
我已经编写网站代码很长时间了,但从未使用 PHP 中内置的 session_name()
函数来设置自定义会话名称而不是默认值(PHP SESSID).
我有一个登录页面,可以在您成功登录后将您重定向到另一个文件。在那个文件中,我基本上是在检查 isset($_SESSION)
如果我没有设置我重定向到登录页面。否则,我说 Hello $_SESSION["Username"]
.
我最近决定使用 session_name
并设置一个自定义名称。但是,现在第二个文件中的脚本(检查是否设置了 $_SESSION
)总是说它没有设置。我刚刚更改了会话名称。
然后我在 Google 上四处搜索,发现我需要在第二个文件中再次执行 sesssion_name()
和 session_start()
才能访问用户名。
TL;DR
我是否总是需要对每个文件执行 session_name()
和 session_start()
才能使用自定义会话名称访问我的会话数据?
有不明白的地方我可以澄清一下;可能不太容易理解。
您需要 运行 session_name()
在每个需要访问自定义会话的文件上,将逻辑存储在一个单独的包含文件中,该文件包含在所有相关文件中,或者更改PHP 的默认会话名称通过 session.name
configuration value.
如果不在每种情况下指定 session_name()
,PHP 将不知道您希望它使用不同的名称,而是默认使用 session.name
中的值。