1

今天早上,我的本地 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。

我觉得自己很愚蠢(也很累)。

再次感谢。

4

1 回答 1

4

安装一些软件来查看 HTTP 标头,例如

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

此外,它可能是浏览器中的一些新策略、安全插件或防病毒软件……尝试不同的浏览器或裸curl程序,并在适用时禁用防病毒软件的 Web 防护。

于 2012-07-16T23:57:42.303 回答