我使用以下代码在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/

10-16 20:03