【发布时间】:2017-04-10 04:04:25
【问题描述】:
我在 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 正在重置会话?
【问题讨论】:
-
您在
session_start();之后调用此代码对吗? -
是的,session_start() 是最先运行的东西之一。
标签: php session session-state