PHPSESSID Cookie 被多次发送

标签 php session-cookies

在我当前的应用程序中,PHPSESSID Cookie 被发送了多次。这是一个示例响应:

HTTP/1.1 200 OK
Date: Tue, 11 Jun 2013 08:18:29 GMT
Server: Apache/2.2.17 (Ubuntu)
X-Powered-By: PHP/5.3.15-1~dotdeb.0
Set-Cookie: ZDEDebuggerPresent=php,phtml,php3; path=/ PHPSESSID=625qvi6328pdq2t7psh4t3voi6; path=/ PHPSESSID=625qvi6328pdq2t7psh4t3voi6; path=/ PHPSESSID=625qvi6328pdq2t7psh4t3voi6; path=/
Cache-Control: no-cache
x-debug-token: 9dcc688323f1dad273d4c8fc7117f405a52ce998
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=ISO-8859-1

如您所见,共有三个 PHPSESSID。

我试图通过三个 session_start(); 调用在单个文件中重现此行为:

<?php

session_start();
session_start();
session_start();

但 cookie 只发送了一次。

知道这是怎么发生的吗?

最佳答案

我找到了罪魁祸首。遗留代码深处的某个地方是 session_commit被多次调用。

关于PHPSESSID Cookie 被多次发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17039708/

相关文章:

php - 多选框只显示最后选择的值

python - 多个 csrftoken cookie,RFC 要求只有 1 个 csrftoken 吗?

python - 为什么不在每次 Flask 启动时都生成 key ?

ios - 使用 Django 和 ASIHttpRequest 的用户身份验证/ session

node.js - 在 php 和 Node 之间共享 session

php - 对这段使用大括号的 php 代码感到困惑

php - Symfony2 表单类型实体添加额外选项

php - PHP 中的 __DIR__ 和 dirname(__FILE__) 有什么区别吗?

php - Node.js API 与 express 和 mysql - 仅在设置时应用搜索参数

asp.net-mvc - 如何在浏览器关闭 MVC ASP .NET 上结束 session 或注销用户