您应该尽快释放锁的建议是错误的(出于某种原因,我现在无法对其进行投票)。
在 write() 调用之前释放锁与根本不使用锁一样有效。重点是,并发读取() 必须被阻塞,直到会话关闭,否则会出现竞争条件。
如果您关心性能方面,您应该尽快调用 session_write_close()。
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SessionHandlerInterface::open — 初始化会话
重新初始化现有会话,或创建一个新的会话。当会话开始或调用 session_start() 时调用。
path
存储/检索会话的路径。
name
会话名称。
您应该尽快释放锁的建议是错误的(出于某种原因,我现在无法对其进行投票)。
在 write() 调用之前释放锁与根本不使用锁一样有效。重点是,并发读取() 必须被阻塞,直到会话关闭,否则会出现竞争条件。
如果您关心性能方面,您应该尽快调用 session_write_close()。
请注意,一旦 $sessionName 被用来从 Cookie 数据中提供 $sessionId 的值,它就完全是多余的,因为所有后续对会话数据的读取和写入都由 $sessionId 控制。
如果出于任何原因,需要确定与当前 $sessionId 关联的 $sessionName 的值,则应使用传递给 open() 方法的值。尝试使用来自其他来源的值可能会导致意外的副作用。