【问题标题】:PHP creating new session name after setting the cookie name via session_name()PHP 在通过 session_name() 设置 cookie 名称后创建新的会话名称
【发布时间】:2023-04-09 18:36:01
【问题描述】:

我不知道为什么在localhost 上(虽然不是实时的,据我所知)偶尔session_start(); 会生成一个新的session_id();。虽然其他线程都无法弄清楚是什么原因造成的,但我很快确定session_name('session'); 是原因。但是我确实希望会话 cookie 名称为 PHPSESSID

如何在没有session_name('session'); 生成新会话名称(或使用第二个冗余 cookie)的情况下设置会话 cookie 名称?我目前正在运行 PHP 7.3.10。

【问题讨论】:

    标签: php session-cookies


    【解决方案1】:

    编辑php.ini 文件并设置session.name = session 解决了localhost 上的问题。不过,我对另一种解决方案持开放态度。


    对于那些处理相同问题/不同原因的人,我应该注意以下几点:

    ini_set('session.cookie_secure', 1);
    

    应仅在 SSL 处于活动状态时运行:

    if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {ini_set('session.cookie_secure', 1);}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      相关资源
      最近更新 更多