PHPSESSID仅在一个互联网连接下更改每个请求

时间:2013-07-17 19:48:55

标签: php cookies

经过一天的互联网广泛研究,我仍然无法弄清楚这一点。 发生的事情是cookie中的PHPSESSID不会从一个页面持久存在。

这发生在特定地方的一个互联网连接下的计算机中。我已经测试了位于其他地方的其他几台机器,一切正常。我已经检查过session_start,子域名没有问题。

我希望有人可以帮助我。

4 个答案:

答案 0 :(得分:2)

要检查的事项:

  1. 这些计算机上的时间(和时区!)是否设置正确?如果设置不正确,他们可能会过早地(甚至可能立即)丢弃会话cookie。

  2. 计算机上是否安装了任何奇怪的安全或“隐私”软件?如果可能,请检查问题是否仍然存在于这些计算机上的其他浏览器下。

  3. 这些计算机是否落后于任何类型的Web代理?如果是这样,它可能会干扰cookie。

答案 1 :(得分:0)

  

要使用基于cookie的会话,必须先调用session_start()   向浏览器输出任何内容。 - PHP文档

另外,您可能需要检查您的php.ini是否已正确配置以存储会话cookie。每次在会话开始之前加载页面时调用session_set_cookie_params(),以便正确配置会话cookie的文件夹,域,持续时间等。

  

设置php.ini文件中定义的cookie参数。这样的效果   函数仅持续脚本的持续时间。因此,你需要   为每个请求和之前调用session_set_cookie_params()   调用session_start()。

     

此函数更新相应PHP的运行时ini值   可以使用ini_get()。

检索的ini配置键

答案 2 :(得分:0)

在我用我自己的计算机验证这是在这个地方发生的事情之后,我意识到当我输入一些网址时,它们会在中间以某种方式发生变化,例如http://www.medicmanager.com.ar/cloud/santiago/charisma/js/jquery.cookie.js已更改为http://www.medicmanager.com.ar/cloud/santiago/charisma/js/jquery.ckiooe.js当然这给了404。

我将ISP连接更改为另一个,并且它开始工作,所以我打电话给ISP,他们告诉我他们已经解决了这个问题2天,更改了URL并弄乱了cookie。

谢谢大家的回答,我将此留在这里,万一有人有疑问。是的,它可能是你的ISP,非常奇怪。

答案 3 :(得分:-1)

将Cookie生命周期设置为0意味着它会立即过期,请尝试将其设置为其他值,例如2592000 - 这是30天的秒数。 编辑:我的意思是time() + 2592000