我可以在离开页面时保持会话(以及 return 之后)吗?

Can I keep a session when leaving the page (and return later)?

由于我无法控制的原因,我需要将表单数据发送到另一台服务器并 return 在它被处理后立即返回并在 [= 时更改我本地数据库中条目的状态23=]ing.

原则上它工作正常,但是当我 return 时,我的会话似乎已终止,我需要重新登录才能到达我想到达的页面。不幸的是,这阻碍了我的脚本实际通知我的数据库外部数据库已经处理了数据。当然,我可以打开 public 访问页面,但我想避免这种情况。另一种选择是发送带有表单数据的密钥,并且仅在 returned 密钥正确时才绕过登录需求。

但是有没有办法告诉我的会话只在特定时间后终止,而不是在离开页面时终止? (当然,我想保留在注销时故意终止会话的可能性。)

我刚刚意识到问题似乎出现在 Windows 和 Mac 上的 Firefox 上,但我的 GNU/Linux 系统上没有。离开时我会保持登录状态并 return 访问网页。这就是为什么一开始我不知道人们会遇到这个问题的原因。

我发现在外部页面上创建会话也会结束原始会话(至少在 Windows 和 OSX 上的 Firefox 中是这样)。删除外部页面上的 session_start() 后,会话将按预期保持活动状态。 似乎在任何给定选项卡中只能有一个活动会话,创建新会话会终止旧会话。 (但是,此终止仅发生在 Windows 和 OSX 上,但不会发生在 Firefox ESR GNU/Linux 上。)

奇怪的是,如果启动新会话(如果在 GNU/Linux 上的 Firefox ESR 上没有),会话 cookie 的默认设置将被删除。

真正的解释是什么:这是我发现的行为。