我最近将一堆网站迁移到了一个新的VPS,我在PHP会话上遇到了很多麻烦。所有网站的配置方式都相同,但有一个网站的会话并不总是有效。让我烦恼的是它是随机的。我可以访问网站,登录,会话将正常工作。然后,我回去一小时后,尝试登录同一个帐户,但它不再保留我的会话。
VPS在 CentOS 5.8 上运行,并且 PHP 5.4.3 。我应该提一下,在迁移之前,网站运行在PHP 5.3 。
我检查了 session.save.path ,这很好。我甚至可以看到会话文件(使用正确的用户和所有内容)但是当会话不工作时它们是空的,这是有道理的。但为什么它有时会起作用,有时却不起作用?我无法搞清楚这个。
答案 0 :(得分:4)
会话要求服务器磁盘空间保存服务器是否有磁盘空间来保存会话?我们在一个linux盒子上遇到了问题,因为它的分区已用完了磁盘空间,因此会话停止了保存。
答案 1 :(得分:1)
检查你的php.ini,做一个phpinfo(),看看如何配置会话......特别要查看session.gc_maxlifetime设置。
答案 2 :(得分:0)
我们也有这个问题。 我们通过在服务器的php.ini中将session.auto_start = 0更改为session.auto_start = 1来解决此问题。我不知道为什么,但它解决了我们的问题。我们仍在调查为什么会这样做,以及这样做的后果是什么。
答案 3 :(得分:0)
我也有一个同样的问题,我的一个专用服务器,安装了PHP 5.4.3。
具有讽刺意味的是,当我清除浏览器缓存时(从头开始)。
工作正常。