我的CodeIgnighter站点在推送到生产服务器时丢失会话数据时遇到了一些问题。
我们有一个CodeIgnighter网站,该网站使用会话来存储与预订相关的数据,同时人们浏览该网站。我可以很高兴地离开页面 15+ 分钟,返回,一切正常。
但是,当将代码实时推送到生产服务器时,会话似乎在 5 分钟标记后超时/丢失数据。
我已经在CodeIgnighter配置文件中设置了默认会话超时,但我想知道是否有服务器/php/apache级别可以覆盖我的CodeIgnighter设置?不幸的是,我对会话处理的了解不是很好,到目前为止,谷歌也没有提供帮助!
我已经附加了来自phpinfo()的会话信息;来自工作站点和损坏的生产站点。
任何帮助将不胜感激!!
工作开发网站:
指令本地值主值 session.auto_start关 session.bug_compat_42 开启 session.bug_compat_warn 开启 session.cache_expire 180 180 session.cache_limiter无缓存无缓存 session.cookie_domain 无值 无值 session.cookie_httponly关 session.cookie_lifetime 0 0 session.cookie_path// session.cookie_secure关闭 session.entropy_file 无值 无值 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 无值 无值 session.save_handler文件文件 session.save_path/tmp/tmp session.serialize_handler php php session.use_cookies 开启 session.use_only_cookies 开启 session.use_trans_sid 0 0
破碎的生产现场:
指令本地值主值 session.auto_start关 session.bug_compat_42关 session.bug_compat_warn关闭 session.cache_expire 180 180 session.cache_limiter无缓存无缓存 session.cookie_domain 无值 无值 session.cookie_httponly关 session.cookie_lifetime 0 0 session.cookie_path// session.cookie_secure关闭 session.entropy_file 无值 无值 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 无值 无值 session.save_handler文件文件 session.save_path 无值 无值 session.serialize_handler php php session.use_cookies 开启 session.use_only_cookies 开启 session.use_trans_sid 0 0
实际上,
我会建议一个完全不同的解决方案,并告诉您使用数据库作为会话的处理程序。我更喜欢使用数据库,因为您可以拥有多个服务器,并且它是会话安全性的最佳选择。