【发布时间】:2014-05-19 05:05:09
【问题描述】:
会话是否仅在您每次使用 session_start(); 访问页面时保持活动状态,还是其他页面也保持活动状态?
示例(30 分钟超时):
1
用户使用 session_start();
访问页面 25 分钟后,他们访问另一个 session_start();
页面会话保持活动状态
2
用户使用 session_start();
访问页面 25 分钟后,他们访问了 non-session_start();页面
会话保持活跃
2也是真的吗?
【问题讨论】:
-
嗯,我们有两个非常不同的答案。
-
PHP
sessioncookie 的过期时间是SESSION,这意味着它将在浏览器会话结束时(浏览器关闭时或在本例中为30 min timeout)被删除,并且域cookie 与创建它的域相同。第 2 条语句为真,因为浏览器在关闭浏览器之前不会删除 cookie。因此,即使在 PHP 文件中没有调用session_start(),浏览器仍会将 cookie 发送到页面。仅当两个 PHP 文件的域相同时才会发生这种情况。 -
PHP 下的服务器配置也很重要。例如,see Apache session configuration.