PHP会更改每个请求的会话ID

时间:2012-07-16 23:50:09

标签: php sessionid

今天早上我的本地php开始表现得很奇怪:会话ID在每个请求上发生变化(使会话无法使用)。

代码:

<?php
session_start();

同一页面可通过“localhost”和“test”获得,这是localhost的/ etc / hosts条目。

在“ localhost ”上请求相同的文件: PHPSESSID Cookie保持不变;在“测试”中它会随着每个请求而改变。

我的代码(没有BOM或错误的代码)或Apache的配置中完全没有更改。我可能已经更新了PHP( 5.4.4 ),但是恢复到以前的版本( 5.4.1 )显示了相同的行为。在远程服务器上运行的相同代码(php 5.3 )已经运行了很长时间。

这可能是PHP中的一个错误:(但在报告之前,我想确定我没有忽略任何内容。

有什么想法吗?


感谢您非常快速的回答。

事实上,浏览器工作正常,一切正常,甚至是PHP。

我忘记了我添加了.htaccess清除所有cookie以上传到CDN。我唯一没检查的是.htaccess。

我感到愚蠢(并且累了)。

再次感谢。

1 个答案:

答案 0 :(得分:4)

安装一些软件,观看HTTP标头,如

Cookie标头可能包含使浏览器不将其发回的设置,因此服务器会为每个请求生成一个新的cookie(新会话)。 特别要检查您发送的Cookie的path设置。

此外,它可能是浏览器中的一些新策略,或安全插件,或者可能是防病毒软件......尝试不同的浏览器或裸curl程序,并禁用防病毒的网络屏蔽(如果适用)。