PHP cookie没有删除

Stu*_*old 0 php cookies

我已经阅读了各种各样的线程,但没有一个解决方案似乎有效.

我有两个PHP页面:

cookieson.php

<?php session_start();
$future = time()+60*60*24*30*12;
setcookie('CookiesAgreed', 'yes', $future, '/');
?>
Run Code Online (Sandbox Code Playgroud)

cookiesoff.php

<?php session_start();
$past = time()-9999999999999999;
setcookie('CookiesAgreed', null, $past, '/');
?>
Run Code Online (Sandbox Code Playgroud)

cookieson.php正确设置cookie"CookiesAgreed",到期约一年.

cookiesoff.php应该完全清除"CookiesAgreed"cookie,但似乎没有做任何事情 - 值不会改变(根据Firefox的Cookies列表),到期不会改变,cookie也不会删除.偶尔会创建一个全新的cookie(同样,根据Firefox),具有相同的名称,值和到期日期.

我究竟做错了什么?!

(你可以在http://www.rugbyfiles.com/cookieson.phphttp://www.rugbyfiles.com/cookiesoff.php上看到)

Pra*_*man 7

这没有堆栈和溢出:

$past = time()-9999999999999999;
Run Code Online (Sandbox Code Playgroud)

相反,这样做:

$past = time()-60*60*24*30*12;
Run Code Online (Sandbox Code Playgroud)

时间变量可以仅持有价值04294967296.当你给出这么长的负值时,它会从堆栈中消失.

  • `$ past = time() - 31104000; // 60*60*24*30*12`以避免运行时计算. (3认同)