【问题标题】:Why am I unable to set cookie name with PHP's setcookie()?为什么我无法使用 PHP 的 setcookie() 设置 cookie 名称?
【发布时间】:2013-11-29 09:07:56
【问题描述】:

我正在尝试使用以下代码来设置 cookie:

<?php
    setcookie("sid",      // Name
        session_id(),         // Value
        0,                    // Expiry
        "/",                  // Path
        ".mysite.com",        // Domain
        true,                 // HTTPS Only
        true);                // HTTP Only
    session_start();
    ...

根据我的代码,名称应为“sid”,但 cookie 名称始终为“PHPSESSID”。但是,如果我在session_start() 之前添加session_name("sid");,则会话名称设置为“sid”。我做错了什么?

【问题讨论】:

  • 因为session_start 自己设置了一个cookie?
  • 你想达到什么目的?

标签: php cookies setcookie


【解决方案1】:

session_start 使用 session.name 配置值创建会话 cookie。

session_name 可用于覆盖默认值。您应该使用它(或在 php.ini 中全局配置它),而不是手动尝试设置 cookie,因为 session_start 不知道您的自定义 sid cookie 意味着与会话相关的任何内容 - 对于所有 PHP 所知,该 cookie可能正在存储用户名是否为 Sid。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 2018-04-09
    • 1970-01-01
    相关资源
    最近更新 更多