0

也许我对此有误解,但我希望以下内容在页面刷新时返回相同的会话 ID;

<?php
session_start();
$ses_id = session_id();
echo $ses_id;
?>

每当我刷新页面时,会话 ID 都会更新为新的。我在 Windows 7 IIS 上运行 PHP。客户端是 iphone safari 浏览器。

最初我试图跟踪 AJAX 调用和会话变量的问题,但在故障排除中我意识到我的调用页面在页面刷新期间甚至无法保留它自己的会话 - 所以我想如果我解决了这个问题,那么至少我可以开始解决 AJAX 问题(如果它仍然存在)。

我做了什么;

PHP ini - 使用以下设置启用确认会话(除了 session.save_path 为“/tmp”和 session.cookie_domain 为空白之外,大部分是默认设置...

session.save_handler = files
session.save_path = "c:\windows\temp"
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain = .<mydomain.com>  --  <censored> :)

...

4

1 回答 1

0

感谢@Arpit 你奇怪的含糊评论,但它为我指明了正确的方向:)

改变:
iphone -> settings -> safari -> accept cookies -> Never

iphone -> settings -> safari -> accept cookies -> From Visited

现在会话保持不变。
不过对我的应用来说不是很好;我必须要求用户更改他们的Safari设置。

于 2013-05-19T20:04:40.530 回答