[英]What is the proper syntax for setcookie() in php 7.3?
PHP 7.3 中 setcookie() 的正确语法是什么? 我通常像这样使用 setcookie():
setcookie("genone", "genoneinfo", "$cookie_expiration_time","/","",1,1);
那行得通,但如何添加 samesite 选项? 我试过这样,但它失败了 php 错误:
setcookie("genone", "genoneinfo", "$cookie_expiration_time","/","",1,1,['samesite'=>'Lax']);
错误:PHP 警告:setcookie() 最多需要 7 个参数,第 73 行给出了 zzz.com/index.php 的 8 个参数,引用: https ://zzz.com/
谢谢,托德
PHP 7.3 引入了setcookie()的替代语法:
添加了支持选项数组的替代签名。 此签名还支持设置 SameSite cookie 属性。
这意味着您只需像在旧版本中一样提供前两个参数,并将其余参数放在一个选项数组中:
setcookie('genone', 'genoneinfo', [
'expires' => $cookie_expiration_time,
'path' => '/',
'domain' => '',
'secure' => true,
'httponly' => true,
'samesite' =>'Lax',
]);
根据文档中的描述,旧版本的参数名称在这里成为数组键:
一个关联数组,它可能包含任何密钥expires 、 path 、 domain 、 secure 、 httponly和samesite 。 这些值的含义与对同名参数描述的含义相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.