Php Symfony会话值在特定服务器上丢失

Php Symfony会话值在特定服务器上丢失,php,symfony-1.4,session-timeout,Php,Symfony 1.4,Session Timeout,摘要:在PHP Symfony 1.4.8上开发的应用程序会随机丢失Symfony会话值,但仅在特定的生产环境中丢失:数组Symfony/user/sfUser/attributes在用户身份验证后几秒钟或几分钟内变为空。问题不会在开发机器或任何其他生产环境中发生 很明显,问题是特定于故障服务器的,但是,我想知道是否有我可能缺少的任何PHP/Apache/Symfony配置可以解决故障服务器上的问题 服务器PHP信息失败: storage: class: sfSessionStora

摘要:在PHP Symfony 1.4.8上开发的应用程序会随机丢失Symfony会话值,但仅在特定的生产环境中丢失:数组Symfony/user/sfUser/attributes在用户身份验证后几秒钟或几分钟内变为空。问题不会在开发机器或任何其他生产环境中发生

很明显,问题是特定于故障服务器的,但是,我想知道是否有我可能缺少的任何PHP/Apache/Symfony配置可以解决故障服务器上的问题

服务器PHP信息失败:

  storage:
    class: sfSessionStorage
    param:
      session_name: webapp

  user:
    class: myUser
    param:
      timeout: 7200
  • PHP版本5.3.10
  • 系统SUNOS5.10
  • Apache/1.3.41(Unix)PHP/5.3.10 mod_ssl/2.8.31 OpenSSL/0.9.8p
  • 每个子级的最大请求数:0-保持活动状态:打开-每个连接的最大请求数:100
  • 超时连接:300-保持活动状态:15
  • 会话支持:已启用
  • 已注册的存储处理程序:文件用户sqlite
  • 已注册的序列化程序处理程序:php\u二进制文件
  • session.cache_过期:180
  • session.cache\u限制器:nocache
  • session.cookie_生存期:0
  • session.gc_除数:100
  • session.gc_最大寿命:1440
  • session.gc\u概率:1
  • session.use_cookies:打开
  • session.use_only_cookies:打开
工作服务器PHP信息:

  storage:
    class: sfSessionStorage
    param:
      session_name: webapp

  user:
    class: myUser
    param:
      timeout: 7200
  • PHP版本5.2.17
  • Linux系统2.6.32.59-sg2#3 SMP
  • Apache/1.3.42(Unix)mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.8e-fips-rhel5
  • 会话支持:已启用
  • 已注册的存储处理程序:文件用户sqlite memcache
  • 已注册的序列化程序处理程序:php\u二进制wddx
  • session.cache_过期:180
  • session.cache\u限制器:nocache
  • session.cookie_生存期:0
  • session.gc_除数:1000
  • session.gc_最大寿命:1440
  • session.gc\u概率:1
  • session.use_cookies:打开
  • session.use_only_cookies:关闭
所有环境下两台服务器的Symfony会话设置:

  storage:
    class: sfSessionStorage
    param:
      session_name: webapp

  user:
    class: myUser
    param:
      timeout: 7200
我已经检查过这个类似的问题,但是我没有使用sfMemcacheCache类


如果您需要任何额外的信息来回答此问题,请告诉我。

这可能是一个需要检查的明显问题,但可能是服务器磁盘空间不足

默认的会话存储是基于文件的,因此,如果您随机丢失数据,听起来好像您遇到了一些硬盘/文件系统问题


如果您仍感兴趣,可以尝试,希望是在不同的磁盘上。

您可能需要在
factories.yml
文件中将以下设置设置为:

  storage:
    class: sfSessionStorage
    param:
      session_name: webapp
      session_cookie_lifetime: 2678400 # number of seconds for 1 month

&然后删除您的
缓存
&重新加载网站,您的
会话COOKIE将保持活动状态1个月。

您是否尝试使用其他存储类?例如,像sfPDOSessionStorage一样,我们有相同的问题-但我们没有定义sfSessionStorage。@j0k不,我没有。。。我会尽力做到这一点,并让您保持联系…而且只有一台生产服务器,而不是几个?这涉及到某种类型的平衡负载,所以我假设它可能不止一台。。。