【发布时间】:2011-08-02 15:09:06
【问题描述】:
我从previous question 学到了很多关于会话开始的知识。现在我想知道当文件包含在其他文件中时如何发生会话锁定。假设我有:
page.php
include('header.php');
...some html content....
include('sub_page.php');
...more html....
header.php:
session_start();
..save session vars...
..print web page header...
sub_page.php
session_start();
...use session vars....
..print page content...
当我打开 page.php 时,会话是否会在 header.php 完成后立即解锁?还是它在整个 page.php 生命中都存在,所以 sub_page 的会话被阻止? sub_page 中的session_start 是否必要?如果每次我完成会话数据时我 session_write_close 会更好吗? (虽然这意味着session_starting 每次我想使用会话变量)。
【问题讨论】:
-
因此将所有这些答案放在一起,因为包含只是检索文件并将其转储,就好像它是 page.php 的一部分一样,第二个 session_start 不是有效的语句,所以锁定不是一个问题。