摘要:在PHP Symfony 1.4.8上开发的应用程序会随机丢失symfony会话值,但仅限于特定的生产环境:数组 symfony / user / sfUser / attributes 在用户身份验证后的几秒或几分钟内变空。在开发机器或任何其他生产环境中不会发生问题。
似乎很清楚问题是特定于失败的服务器,但是,我想知道是否可能有任何PHP / Apache / Symfony配置我可能会丢失,可以解决故障服务器上的问题?
服务器PHP信息失败:
工作服务器PHP信息:
所有环境中两台服务器的Symfony会话设置:
storage:
class: sfSessionStorage
param:
session_name: webapp
user:
class: myUser
param:
timeout: 7200
我已经检查过类似的问题Symfony 1.4 sessions randomly lost,但是我没有使用sfMemcacheCache类。
如果您需要任何额外信息来回答此问题,请与我们联系。
答案 0 :(得分:0)
这可能是一件显而易见的事情,但可能服务器的磁盘空间不足?
默认会话存储是基于文件的,所以如果你随机丢失数据,听起来好像你有一些硬盘/文件系统问题。
如果您仍然很好奇,可以试试changing the location where sessions are stored to another location,希望在不同的磁盘上。
答案 1 :(得分:0)
您可能需要在factories.yml
文件中将以下设置设置为:
storage:
class: sfSessionStorage
param:
session_name: webapp
session_cookie_lifetime: 2678400 # number of seconds for 1 month
&安培;然后删除您的cache
&重新加载网站,您的SESSION COOKIE
将保持有效状态1个月。