【发布时间】:2019-12-15 12:42:51
【问题描述】:
我收到这个 PHP 错误:
PHP 警告:setcookie() 期望参数 3 为整数,给定数组
使用此代码:
$setResult = setcookie(
'visitorId',
"{$newIdForNewVisitor}",
[
'httponly' => true,
'expires' => time() + (50 * 365 * 24 * 60 * 60)
]
);
但在the setcookie documentation 的第二个示例中,我看到参数 3 上的 options 参数可以采用关联数组:
一个关联数组,它可能具有过期、路径、域、安全、httponly 和samesite 中的任何键。这些值的含义与对同名参数的描述相同。 samesite 元素的值应为 Lax 或 Strict。如果没有给出任何允许的选项,它们的默认值与显式参数的默认值相同。如果省略 samesite 元素,则不设置 SameSite cookie 属性。
这里犯了什么错误?
【问题讨论】:
-
在 PHP 7.3.0 中引入了带有数组的缩短版本。您使用的是该版本还是旧版本?
-
@rickdenhaan 是正确的——见the changelog
-
我使用的是 PHP 7.2 所以这就是原因,谢谢。