Javascript 如何真正删除cookie?

Javascript 如何真正删除cookie?,javascript,php,Javascript,Php,我在IE中成功地弄坏了我的饼干串,现在看起来是这样的: "; __atuvc=4%7C7; PHPSESSID=e4db10eb5d4409ba3203a7c1d533fafd; PHPSESSID=75a04bdcf604dd607d383da774c0f72a; __utmc=51433896; __utma=51433896.100703801.1392175783.1392175783.1392178863.2; __utmb=51433896.5.10.1392178863; __ut

我在IE中成功地弄坏了我的饼干串,现在看起来是这样的:

"; __atuvc=4%7C7; PHPSESSID=e4db10eb5d4409ba3203a7c1d533fafd; PHPSESSID=75a04bdcf604dd607d383da774c0f72a; __utmc=51433896; __utma=51433896.100703801.1392175783.1392175783.1392178863.2; __utmb=51433896.5.10.1392178863; __utmz=51433896.1392175783.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __atuvc=3%7C7"
这是在IE11开发者栏中键入
document.cookie
的输出

您将注意到
PHPSESSID
在其中两次。我想杀了它

我已经尝试在JavaScript中运行此功能:

document.cookie = 'PHPSESSID=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
并在PHP中运行:

session_start();
setcookie('PHPSESSID', '', time()-3600); 
setcookie('PHPSESSID', '', time()-3600, '/'); 
session_unset();
session_destroy();
但似乎没有什么能摆脱饼干


我知道我可以通过浏览器手动删除cookie,但是现在很多用户都有fried会话,我需要一种自动删除cookie的方法。

删除cookie时,必须指定与设置cookie时完全相同的cookie参数。您可以使用
session\u get\u cookie\u params
函数获取当前会话cookie的参数

$params = session_get_cookie_params();
setcookie(
    session_name(), '', time() - 86400, 
    $params['path'], 
    $params['domain'],
    $params['secure'],
    $params['httponly']
);

session_destroy();

如果var\u dump($\u COOKIE),你会得到什么?
var\u dump($\u COOKIE)
将只输出
PHPSESSID
一次,因为它是一个键值dict。但是它肯定会在那里两次,因为它会阻止用户登录。它也可以通过
$\u服务器['HTTP\u COOKIE']
查看。到目前为止,我找到的唯一解决方案是要求用户关闭浏览器(将清除会话长度COOKIE)或按Ctrl+Shift+Del并手动删除它们。