我正在尝试在某些php页面上使用session_id(),但是每个文件之间的id都会发生变化,每次刷新页面时它都会发生变化。我放置了以下脚本,该脚本应该在重新加载时递增,但它没有。
session_start();
if (!isset($_SESSION['hits'])) $_SESSION['hits'] = 0;
++$_SESSION['hits'];
echo '<p>Session hits: ', $_SESSION['hits'], '</p>';
echo '<p>Refresh the page or click <a href="', $_SERVER['PHP_SELF'],
'">here</a>.';
在我的php.ini文件中,我打开了Cookie并设置了我的save_path tp&#39; / tmp&#39;。
在实际文件夹中,有会话文件......所以我知道这不是文件写入问题。我还确保每个文件都是utf-8,以确保一致性。
如果您能想到任何其他解决方案,请帮我解决此问题。这让我疯了。
感谢!!!
答案 0 :(得分:2)
我能想到的3种可能性是:
session_id()
?在您的问题中包含该代码。如果您使用任何参数调用它,它会将会话ID覆盖到您传递的任何参数。session_destroy()
?这将从服务器中删除会话数据,并导致在后续网页浏览中启动新会话。答案 1 :(得分:-3)
这是因为每次刷新页面时都会创建一个新会话。您必须将会话开始语句括在if。
中 if(session_id() == ''){
session_start();
}