在我当前的应用程序中,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/

10-10 02:53