session_write_close — Write session data and end session
说明
End the current session and store session data.
Session data is usually stored after your script terminated without the need to call session_write_close(), but as session data is locked to prevent concurrent writes only one script may operate on a session at any time. When using framesets together with sessions you will experience the frames loading one by one due to this locking. You can reduce the time needed to load all the frames by ending the session as soon as all changes to session variables are done.
以上是手册上给出的解释
大致意思就是:
session的数据,一般在脚本结束的时候,才被写入到session文件(session数据是以文件形式存储的)中
因为是写文件,所以为了防止并发,session同一时间只用于一个脚本打开并操作文件,其余的脚本会被锁住,必须等待前一个脚本执行完毕。
session_write_close就是提前释放这个文件锁,无需等到脚本执行结束。
所以上面的 End the current session and store session data 这个描述应该不是很准确,可能会导致误解。