根据此处的文章 https://php.watch/articles/PHP-Samesite-cookies 和 PHP 文档 https://www.php.net/manual/en/session.security.ini.php ,只有 2此新功能的可能配置选项,在 PHP 7.3 中添加:
- session.cookie_samesite=宽松
- session.cookie_samesite=严格
然而,根据 Chrome 控制台,这需要设置为“无”:
在没有
SameSite
属性的情况下设置了与 URL 上的跨站点资源关联的 cookie。它已被阻止,因为 Chrome 现在仅在使用SameSite=None
和Secure
设置时提供带有跨站点请求的 cookie。您可以在应用程序>存储>Cookies 下的开发人员工具中查看 cookie,并在 URL 和 URL 查看更多详细信息。
因此,我无法再设置跨站 cookie。解决方法是什么?
原文由 Dane Iracleous 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
ini_set
将值设置为“无”。使用该函数时不检查该值是否受支持:session_set_cookie_params
也可以设置:php.ini 支持的错误报告在 这里。
正如 @shrimpwagon 在 下面的评论中 所说,
session.cookie_secure
必须是true
才能工作。 PHP 不需要它,但浏览器需要。