我已经设置了一个使用会话的 PHP5 脚本。启动会话很顺利,它还创建了一个 cookie(如预期的那样)。
然而,在关闭浏览器(Mac OSX Mountain Lion 上的 Firefox 19.0.2)并打开浏览器后,会话 ID 保持不变。即使过了几天。然而,当 session.cookie_lifetime 设置为 0
在 PHP 中,我使用它来启动会话:
//set cookie params: lifetime, path, domain, https, http-only
session_set_cookie_params(0, "/", null, false, true);
session_name('MySession');
//start session
session_start();
这是我的 PHP.ini
session.use_cookies = 1
session.use_only_cookies = 1
session.cookie_httponly = 1
session.cookie_lifetime = 0
session.cookie_path = /
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.hash_function = 1
session.hash_bits_per_character = 6
session.save_path = /var/lib/php5
session.name = PHPSESSID
会话文件确实会在 /var/lib/php5 中被删除。在 session_destroy() 之后,文件将被删除。
但是,再次使用脚本(开始会话)后,我将获得旧的会话 ID。上周五我从我的电脑上注销了,现在我回来了,我仍然得到这个旧的会话 ID。我真的很想在关闭浏览器后有一个新的会话 ID(命令 Q)
我刚刚读到了 Firefox 的一个令人讨厌的“功能”,它为您存储 cookie,就好像您从未关闭过浏览器一样。
我想这可能只是原因。因为我不希望这样,所以我需要找到解决方法。
你能给我建议吗?