PHP session.cookie_secure:设置为true时禁用会话

时间:2014-07-30 21:20:53

标签: php session

当我设置以下配置时:

ini_set("session.cookie_secure", 1);

我的整个应用程序的会话禁用,我不能再写入或读取会话变量。

$sessionName = "us";
session_name($sessionName);
ini_set('session.cookie_httponly', 1);
ini_set('session.entropy_file', '/dev/urandom');
ini_set('session.hash_function', 'whirlpool');
ini_set('session.use_only_cookies', 1);
// ini_set('session.cookie_secure', 1);
session_start();
session_regenerate_id();

此配置是否与session.cookie_secure兼容? PHP手册似乎没有解释所有这些配置。 Manual

2 个答案:

答案 0 :(得分:13)

session.cookie_secure指定是否应仅通过安全连接(HTTPS)发送Cookie。如果您使用的是HTTP,则不会从服务器获取任何cookie。这就是你没有会话的原因。

编辑:我应该更准确。您获得了cookie,但是您的浏览器不会将它们发送到服务器,因为您没有使用安全连接。

答案 1 :(得分:2)

session.cookie_secure 设置为true意味着它只会通过安全连接(SSL)发送会话Cookie

如果您没有使用SSL,那么您将无法在您的请求中发送会话Cookie

阅读相关手册