建議您應盡快釋放鎖定的說法是錯誤的(由於某些原因,我現在無法 downvotes)。
在 write() 呼叫之前釋放鎖定與完全不使用鎖定一樣沒有效果。重點是必須阻止併發 read(),直到 session 關閉為止,否則會發生競爭情況。
如果您在意效能方面,則應注意盡快呼叫 session_write_close()。
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SessionHandlerInterface::open — 初始化工作階段
重新初始化現有的工作階段,或建立新的工作階段。在工作階段開始或呼叫 session_start() 時呼叫。
path
儲存/擷取工作階段的路徑。
name
工作階段名稱。
建議您應盡快釋放鎖定的說法是錯誤的(由於某些原因,我現在無法 downvotes)。
在 write() 呼叫之前釋放鎖定與完全不使用鎖定一樣沒有效果。重點是必須阻止併發 read(),直到 session 關閉為止,否則會發生競爭情況。
如果您在意效能方面,則應注意盡快呼叫 session_write_close()。
請注意,一旦 $sessionName 已用於從 cookie 資料提供 $sessionId 的值,它就完全是多餘的,因為所有後續的 session 資料讀寫都由 $sessionId 控制。
如果由於任何原因,需要識別與目前 $sessionId 關聯的 $sessionName 值,則應使用 open() 方法傳遞的值。嘗試使用來自其他來源的值可能會產生意想不到的副作用。