Php Symfony 2在注销时不会删除“记住我”cookie
我的目标是以编程方式从控制器注销。我用。除了未删除的Php Symfony 2在注销时不会删除“记住我”cookie,php,symfony,cookies,Php,Symfony,Cookies,我的目标是以编程方式从控制器注销。我用。除了未删除的longess(重命名为REMEMBERME)cookie之外,一切正常。已删除,但未删除:) 在控制器代码中注销: $response = $this->redirectToRoute('homepage'); $response->headers->clearCookie('LONGSESS'); return $response; 所以,我们称之为行动 此操作的请求标头(按预期): 此操作的响应标题(如预期): 重
longess
(重命名为REMEMBERME
)cookie之外,一切正常。已删除,但未删除:)
在控制器代码中注销:
$response = $this->redirectToRoute('homepage');
$response->headers->clearCookie('LONGSESS');
return $response;
所以,我们称之为行动
longess
值与上一个请求相同):
怎么可能
longess
cookie设置为deleted
,已过期,但下一个请求具有相同的值?解决方案是在clearCookie
方法调用中设置第三个参数domain
。它必须等于会话设置中的域:
framework:
session:
cookie_domain: YOUR-DOMAIN.COM
及
因此,正确的方法是:
$response->headers->clearCookie('LONGSESS', '/', 'YOUR-DOMAIN.COM');
您是否尝试过:
$response->sendHeaders();
紧接着:
$response->headers->clearCookie('LONGSESS');
?
framework:
session:
cookie_domain: YOUR-DOMAIN.COM
firewalls:
your_firewall:
remember_me:
domain: YOUR-DOMAIN.COM
$response->headers->clearCookie('LONGSESS', '/', 'YOUR-DOMAIN.COM');
$response->sendHeaders();
$response->headers->clearCookie('LONGSESS');