我正在尝试使用以下代码来设置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_name("sid");
之前添加session_start()
,则会话名称IS设置为“sid”。我做错了什么?
答案 0 :(得分:0)
session_start
使用session.name
配置值创建会话Cookie。
session_name
可用于覆盖默认值。您应该使用它(或在php.ini
中全局配置它),而不是手动尝试设置Cookie,因为session_start
不知道您的自定义sid
Cookie表示与会话相关的任何内容 - 所有PHP都知道,无论用户名是否为Sid,该cookie都可能存储。