【发布时间】:2021-01-06 21:49:32
【问题描述】:
关于同一个主题,我有两个问题要问。 在带有 php.ini (7.4) 中的标准参数和标准 apache2 配置的新服务器 (debian 10) 中,以下代码不起作用。
session_name('mySiteSession');
session_start();
$params = [
'lifetime' => time()+600,
'path' => '/crm',
'domain' => $_SERVER['HTTP_HOST'],
'secure' => 0,
'httponly' => 0,
'samesite' => 'Strict'
];
setcookie(session_name(), session_id(), $params["lifetime"], $params["path"], $params["domain"], $params["secure"], $params["httponly "]);
cookie 仅正确设置了名称、路径和域参数,其他保持为 false 和无。 这是第一部分的问题,第二部分,我用session_start中的参数试过了
session_name('mySiteSession');
$session_options = [
'cookie_lifetime' => time()+600,
'cookie_path' => '/crm',
'cookie_domain' => $_SERVER['HTTP_HOST'],
'cookie_secure' => 0,
'cookie_samesite' => 'Strict',
'cookie_httponly' => 1,
'read_and_close' => true
];
session_start($session_options);
正确设置 cookie 但会话未启动,如果我重复 session_start () 不带参数
注意:session_start():一个会话已经开始—— 忽略...
但是 var_dump($_SESSION) 无效。
最好的问候
【问题讨论】:
-
我遇到了一个类似的奇怪问题,由于浏览器中没有 PHPSESSID cookie,$_SESSION 总是为空(昨天它还在工作,该死的)。你搞清楚了吗?