我在IIS 8.5上运行PHP 5.6。我用过这个测试日志:
echo '<p>'.sizeof($_SESSION).' - '.session_id().' - '.ini_get('session.cookie_domain').'</p>';
有了它,我发现$_SESSION
有一些元素,cookie_domain
在php.ini中正确设置为我的域名,但session_id()
在每个页面加载时都有不同的字符串。每次加载页面时都会调用session_start()
。
关于如何使会话持久化的任何想法?
$sessionfile = ini_get('session.save_path') . '/' . 'sess_'.session_id();
显示会话文件的位置。我可以打开它,数据就在那里。实际上,这是每个会话的创建,而不是保存文件。
是否有可能某些IIS设置或某些asp正在重置会话?
答案 0 :(得分:0)
如果您没有权限在IIS中存储会话,则会出现此问题。很久以前我遇到了同样的问题。纠正权限或会话路径解决了我的问题。