我有以下源代码
session1.php
<?php
session_start();
echo session_id();
?>
session2.php
<?php
session_start();
echo session_id();
?>
当我访问 session1.php 然后访问 session2.php 时,我得到不同的输出。
为什么这样做?
浏览器没有将会话 cookie 发送回服务器。这可能有两个原因。
如果您在 *nix 下运行,请尝试设置session.save_path
为/tmp
. 如果这不起作用,请查看浏览器的 cookie 缓存以查看 cookie 是否确实被浏览器保存。
尝试将会话 cookie 存储在数据库中而不是服务器上。这为我节省了大量的超时和其他会话 cookie 问题,特别是如果您在共享服务器上。
这可能会有所帮助:http ://www.raditha.com/php/session.php 。
祝你好运
一个罕见的边缘情况,但我发现会话名称中有一个点php.ini
导致了这个问题!
session.name = THIS.DOESNTWORK