如何在PHP中完全删除$\u COOKIEs

如何在PHP中完全删除$\u COOKIEs,php,cookies,Php,Cookies,我有以下PHP脚本: foreach( $_COOKIE as $key => $value ) { if( strpos( $key, 'ticketRecon_ID-' ) === false ) continue; else { setcookie( $key, '', time() - 1 ); unset( $_COOKIE[$key] ); } } 当我运行脚本时,print\r($\u COOKIE)显示目标COOKIE已被删除且不存在。然而Ch

我有以下PHP脚本:

foreach( $_COOKIE as $key => $value ) {
  if( strpos( $key, 'ticketRecon_ID-' ) === false ) continue;
  else {
    setcookie( $key, '', time() - 1 );
    unset( $_COOKIE[$key] );
  }
}
当我运行脚本时,
print\r($\u COOKIE)
显示目标COOKIE已被删除且不存在。然而Chrome开发工具检查器显示cookie仍然存在(见下面的屏幕截图),当我返回到创建cookie的页面时,它们仍然存在

如何在PHP中完全删除/擦除/销毁
\u COOKIE
?这可能与使用SSL协议的站点页面有任何关系吗?

修订:

以下是我最初设置cookie的方式:


setcookie('ticketracon_ID-'.$row['reservationID'],'N',null',/)

为其分配一个空数组

$_COOKIE = array();
解决了

似乎您必须以与创建COOKIE完全相同的方式删除COOKIE。因此,我的delete
setcookie()
上缺少path属性

创建方式如下
setcookie('ticketRecon_ID-'.$row['reservationID'],'N',null',/')

所以delete必须是这样的
setcookie($key',time()-1',/)


希望这篇文章有一天能帮助到别人。

希望这篇文章能帮助你,但我知道你在寻找感谢@WilliamMadede…所以你的答案是
setcookie($key,“,time()-3600)在my
setcookie($key',time()-1)中工作没有?有什么区别吗?那你先怎么设置饼干呢?doneGood question@WilliamMadede。。。请参阅我修改的OQI复制并粘贴您的解决方案逐字@WilliamMadede
setcookie($key,“,time()-3600),它对我不起作用。这不会删除cookies,它只会清除SuperGlobalTransk you@Machavity我现在得到了它。