我正面临真正奇怪的问题。我有一个搜索引擎,基于会话。PHP +会话数据丢失
由于未知原因,会话变量在第三次页面重新加载后会丢失。
这里的PHP配置:
session.auto_start On 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 0
session.hash_bits_per_character 5 4
session.hash_function 1 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php5 /var/lib/php5
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies On Off
session.use_trans_sid 0 0
你有任何想法如何调试这个问题?
我会说,如果会议工作两次,你的设置就可以了。你有没有考虑过审查你的代码? –
我能想到的唯一原因是你没有开始会话。尝试使用var_dump或print_r您的会话变量,并查看它们丢失的位置。最近,我刚刚面对这样的事情,果然我没有开始我的会议。 –
除了php.ini设置,你应该确保你在你的代码中启动了sesison(例如,在你的php页面开始的时候session_start(),但我想这是完成的)。重新加载页面时,您是否从http重定向到https - 因为这是会话丢失的情况? – hornetbzz