今天早上我的本地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。
我感到愚蠢(并且累了)。
再次感谢。
答案 0 :(得分:4)
安装一些软件,观看HTTP标头,如
WireShark嗅探器http://www.wireshark.org/
并检查是否
Cookie标头可能包含使浏览器不将其发回的设置,因此服务器会为每个请求生成一个新的cookie(新会话)。
特别要检查您发送的Cookie的path
设置。
此外,它可能是浏览器中的一些新策略,或安全插件,或者可能是防病毒软件......尝试不同的浏览器或裸curl
程序,并禁用防病毒的网络屏蔽(如果适用)。