我使用以下代码在PHP中删除Cookie:
setcookie('test', null, -1, '/');
除Safari之外,它在所有浏览器中均能很好地工作。 Safari的后续请求(如果完成得足够快)会将Cookie发送到网络服务器。
我能想到的最简单的例子:
<?php
setcookie('test', null, -1, '/');
print_r( $_COOKIE );
?>
在浏览器中快速按F5键。有时,您会看到Cookie的值被删除。该平台似乎无关紧要。我在iPhone,Safari(Windows)和Safari(Mac)上获得了此结果。对我来说,它看起来像是Safari浏览器错误,但也许我在这里遗漏了一些东西?
我希望永远不要在以下请求中设置cookie,无论它有多快。感谢您的任何见解。
最佳答案
已经报告此问题here。
通过设置路径的解决方案:
setcookie('testcookie', 'cookiesetting temporary', time()+3600, '/path/'); // set
setcookie('testcookie', '', time()-3600, '/path/'); // delete
关于javascript - 用PHP清除Cookie在Safari中的行为很奇怪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31373569/