PHP会话变量;在一台计算机上工作,而不是在另一台计算机


PHP Session variables; works on one computer, not on another

所以我有一台开发计算机和一台生产服务器。在开发计算机上,一切都很好。我将站点复制到生产服务器,但我的会话变量不起作用。

我使用一个简单的登录脚本,在用户登录后注册会话用户名。

session_register("myusername");

然后,我在下面放了一个用于测试目的的捕获。

if(isset($_SESSION['myusername'])) {
                echo "set";
            }
            else {
                echo "not set";
            }

在开发计算机上,它会打印输出集。在生产服务器上,它还没有打印出来。有趣的是,完全相同的代码在网站的另一部分运行得非常好。

我正在开发一个库存系统,并使用注册的登录名生成一个更改日志,这样就可以查看谁对系统做了什么。

正如我所说,同样的代码在系统的另一部分上运行良好(我之所以不重用它,是因为它们是单独的登录,尽管它们进入了同一个AD数据库)。

是否有明显我遗漏的东西会导致相同的代码:

A。在网站的一部分工作,而不是在另一部分。B.在两地的测试计算机上工作,并在原始登录中在开发网站上工作。

感谢

不要使用session_register,因为它已被弃用。

试试这个:

session_start();
$_SESSION['myusername'] = 'something';
if(isset($_SESSION['myusername'])) {
    echo "set";
}
else {
    echo "not set";
}