根据此处的https://php.watch/articles/PHP-Samesite-cookies和https://www.php.net/manual/en/session.security.ini.php上的PHP文档,根据PHP 7.3中的新增功能,只有2种可能的配置选项:
但是,根据Chrome控制台,需要将其设置为“无”:
因此,我无法再设置跨站点Cookie。解决方法是什么?
最佳答案
您可以使用 ini_set
将值设置为“None”。使用该函数时,不检查是否支持该值:
ini_set('session.cookie_samesite', 'None');
session_start();
session_set_cookie_params
也可以设置它:session_set_cookie_params(['samesite' => 'None']);
session_start();
php.ini中受支持的错误报告是here。正如@shrimpwagon在comment below中所说,
session.cookie_secure
必须是true
才能起作用。 PHP不需要它,但是浏览器需要。