使用Symfony HttpFoundation创建非会话cookie

使用Symfony HttpFoundation创建非会话cookie,symfony,cookies,session-cookies,Symfony,Cookies,Session Cookies,要使用HttpFoundation组件创建不会随会话过期的cookie,我需要做什么 背景: 我正在使用Symfony的HttpFoundation组件。我没有使用整个Symfony框架。我能够使用该组件存储和检索会话cookie 每当我将cookie过期时间更改为0以外的值时,它们都不会保存 这将创建会话cookie: new Cookie( $cookie_name, $cookie_value, 0, '/', null, false, false); 这不会创建cookie: new

要使用HttpFoundation组件创建不会随会话过期的cookie,我需要做什么

背景

我正在使用Symfony的HttpFoundation组件。我没有使用整个Symfony框架。我能够使用该组件存储和检索会话cookie

每当我将cookie过期时间更改为0以外的值时,它们都不会保存

这将创建会话cookie:

new Cookie( $cookie_name, $cookie_value, 0, '/', null, false, false);
这不会创建cookie:

new Cookie( $cookie_name, $cookie_value, 10000, '/', null, false, false);

多亏了Crozin的反馈,我查看了帖子标题,发现了问题所在

过期时间为0的标头:

Cache-Control: no-cache\r\nDate: Tue, 29 Jul 2014 12:49:50 GMT\r\nLocation: stories\r\nSet-Cookie: cerberus=email_add%40yahoo.com+53d7986e073ef; path=/\r\n
过期时间为10000的标头:

Cache-Control: no-cache\r\nDate: Tue, 29 Jul 2014 12:50:53 GMT\r\nLocation: stories\r\nSet-Cookie: cerberus=email_add%40yahoo.com+53d798ad3696e; expires=Thu, 01-Jan-1970 02:46:40 GMT; path=/\r\n
问题是,我为过期时间输入了错误类型的值,应该是这样的

$expire  =  time() + (3600 * 48);
new Cookie( $cookie_name, $cookie_value, expire, '/', null, false, false);
具有以下正确结果:

Cache-Control: no-cache\r\nDate: Tue, 29 Jul 2014 12:56:58 GMT\r\nLocation: stories\r\nSet-Cookie: cerberus=email_add%40yahoo.com+53d79a1a3f335; expires=Thu, 31-Jul-2014 12:56:58 GMT; path=/\r\n

您能发布两个代码生成的确切HTTP响应(标题)吗?