2013-01-22 56 views
2

当我推送到生产服务器时,我的CodeIgnighter网站会丢失会话数据。在生产服务器上丢失数据的PHP会话 - CodeIgniter

我们有一个CodeIgnighter网站,它使用会话存储与预订相关的数据,同时用户浏览网站。我可以非常高兴地离开页面15分钟以上,返回并且一切正常。

但是,当将代码直接推送到生产服务器时,会话似乎在5分钟后超时/丢失数据。

我已经在CodeIgnighter配置文件中设置了默认会话超时,但我想知道是否有可覆盖我的CodeIgnighter设置的server/php/apache级别?不幸的是,我对会话处理的知识不是很好,Google迄今为止还没有帮助!

我附加了phpinfo()中的会话信息;来自工作场所和破碎的生产现场。

任何帮助将不胜感激!

工作发展的网站:

 

    Directive Local Value Master Value 
    session.auto_start Off Off 
    session.bug_compat_42 On On 
    session.bug_compat_warn On On 
    session.cache_expire 180 180 
    session.cache_limiter nocache nocache 
    session.cookie_domain no value no value 
    session.cookie_httponly Off Off 
    session.cookie_lifetime 0 0 
    session.cookie_path//
    session.cookie_secure Off Off 
    session.entropy_file no value no value 
    session.entropy_length 0 0 
    session.gc_divisor 100 100 
    session.gc_maxlifetime 1440 1440 
    session.gc_probability 1 1 
    session.hash_bits_per_character 4 4 
    session.hash_function 0 0 
    session.name PHPSESSID PHPSESSID 
    session.referer_check no value no value 
    session.save_handler files files 
    session.save_path /tmp /tmp 
    session.serialize_handler php php 
    session.use_cookies On On 
    session.use_only_cookies On On 
    session.use_trans_sid 0 0 

破碎生产现场:

 

    Directive Local Value Master Value 
    session.auto_start Off Off 
    session.bug_compat_42 Off Off 
    session.bug_compat_warn Off Off 
    session.cache_expire 180 180 
    session.cache_limiter nocache nocache 
    session.cookie_domain no value no value 
    session.cookie_httponly Off Off 
    session.cookie_lifetime 0 0 
    session.cookie_path//
    session.cookie_secure Off Off 
    session.entropy_file no value no value 
    session.entropy_length 0 0 
    session.gc_divisor 1000 1000 
    session.gc_maxlifetime 1440 1440 
    session.gc_probability 1 1 
    session.hash_bits_per_character 5 5 
    session.hash_function 0 0 
    session.name PHPSESSID PHPSESSID 
    session.referer_check no value no value 
    session.save_handler files files 
    session.save_path no value no value 
    session.serialize_handler php php 
    session.use_cookies On On 
    session.use_only_cookies On On 
    session.use_trans_sid 0 0 

+0

我相信你会从这个问题的接受答案找到一个合适的解决方案:http://stackoverflow.com/questions/1516266/how-long-will-my-session-last/1516284 – monkeymatrix

+0

谢谢,我是使用CodeIgniter,所以它应该在它自己的管理会话的,但我深入了解这些职位。我认为session.save_path没有在生产服务器上设置的事实可能会导致问题? – Joel

+0

CI使用自己的会话,你应该检查那里发生了什么......我怀疑它可能是Apache相关的东西。 – Shomz

回答

0

其实我建议一个完全不同的解决方案,并告诉您使用的数据库的处理程序为您的会议。我更喜欢使用数据库,因为您可以有多个服务器,并且它是会话安全性的最佳选择。