当用户登录 PHP 时,我正在尝试重置会话 cookie 及其生命周期。这听起来很微不足道,但我仍在努力使它正确。
加载页面时,用户可能已经拥有也可能没有 cookie。如果他有一个,我想删除它并重置 sessionId,如果没有,我会给他一个新的,有适当的生活。session_status()
由于我使用的 PHP 版本,我无法使用。
这是我想出的,但是当用户已经拥有会话 cookie 时它不起作用。
if (isset($_COOKIE[session_name()])) setcookie(session_name(), false);
session_set_cookie_params(2678400); // sets cookie life to one month
session_start();
// do stuff
当用户登录时,旧的 cookie 通常会被删除,但session_start()
不会传递新的 cookie。有没有一种方法可以强制提供一个新的 cookie 而无需手动实现会话 ID 创建的逻辑?
非常感谢你的帮助