gpt4 book ai didi

PHP session - 锁定和共享问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:04:14 25 4
gpt4 key购买 nike

我想知道是否可以在不锁定的情况下读取 $_SESSION 属性。
目前,session_start() 锁定了 SESSION,这意味着其他 PHP 进程将等待它被解锁。
但是,有些进程只是想获取一些 $_SESSION 变量,而不是写入它们。
是否可以实现一些不锁定 SESSION 的函数,例如 session_get(string $id)

此外,一旦用户登录到同一帐户,就可以在浏览器之间共享 SESSION,例如,使用 session_id('shared_vars_of_'.$userid)。但是,这样安全吗?这是灰心吗?

谢谢,
努诺

最佳答案

就个人而言,我一开始就这样做:

session_start();
session_write_close();

然后您可以以只读方式访问 $_SESSION。如下所示,您不需要复制 session 变量

session_start();
//This value will be "The #1 Value!" only the 2nd time you run this
echo "<br />myData value1:".$_SESSION['myData'];
$_SESSION['myData'] = "Value 2 and 3!";
session_write_close();

echo "<br />myData value2 (read-only):".$_SESSION['myData'];
$_SESSION['myData'] = "Value 3 Misleading, and never actually written to the session!";
//But it will affect this value, obviously
echo "<br />myData value3:".$_SESSION['myData'];

session_start();
//NOTE HOW THE ABOVE LINE WRITES-OVER $_SESSION
echo "<br />myData value4:".$_SESSION['myData'];
$_SESSION['myData'] = "The #1 Value!";
session_write_close();

关于PHP session - 锁定和共享问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2936533/

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