【发布时间】:2012-01-15 00:12:50
【问题描述】:
我正在使用 PHP5.3、Apache 2.2 和 Zend Framework 1.11,当我使用 curl 发出请求时,我得到了两个带有两个不同会话 ID 的 Set-Cookie 标头。
有什么想法吗?
> POST /api/register HTTP/1.1
> Authorization: Basic Ymd1ZXJ0eQ==
> Host: api.domain.tld
> Accept: */*
> Content-Length: 66
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 200 OK
< Date: Wed, 07 Dec 2011 13:27:07 GMT
< Server: Apache
< X-Powered-By: PHP/5.3.8
< Set-Cookie: SESSID=vtvackh55bj1up3ouoq4bhk545; expires=Thu, 06-Dec-2012 19:15:53 GMT; path=/
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Set-Cookie: SESSID=79a1g98e0pkqlq8fo7elpe9492; expires=Thu, 06-Dec-2012 19:15:53 GMT; path=/
< Vary: Accept-Encoding,User-Agent
< Content-Length: 128
< Content-Type: application/json
【问题讨论】:
-
可能想看看接受度
-
请注意,在我有一个足够好的答案之前,我可以接受一个答案...接受的答案不仅是增加分数;)
-
如果没有看到与 cURL 查询相关的 PHP 代码,任何人都无法回答这个问题。
-
请注意,此行为也在浏览器中重现
-
@Trent 这不一定是问题,因为后一个值会覆盖第一个值。只要您的会话保持正确,我就不会担心。然而,虽然我从未见过它,但我猜这可能是由多次调用
session_start()或覆盖会话ID 引起的。确实,我们需要查看代码才能猜测问题出在哪里。
标签: php zend-framework session session-cookies