经过一天的互联网广泛研究,我仍然无法弄清楚这一点。 发生的事情是cookie中的PHPSESSID不会从一个页面持久存在。
这发生在特定地方的一个互联网连接下的计算机中。我已经测试了位于其他地方的其他几台机器,一切正常。我已经检查过session_start,子域名没有问题。
我希望有人可以帮助我。
答案 0 :(得分:2)
要检查的事项:
这些计算机上的时间(和时区!)是否设置正确?如果设置不正确,他们可能会过早地(甚至可能立即)丢弃会话cookie。
计算机上是否安装了任何奇怪的安全或“隐私”软件?如果可能,请检查问题是否仍然存在于这些计算机上的其他浏览器下。
这些计算机是否落后于任何类型的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