我开发了一个Web应用程序,允许企业家和客户通过两个不同的登录门户登录。我使用XAMPP(即Apache)配置在本地开发了应用程序。在那里,它完美地运作。
我现在正试图让它运行在Lighttpd Web服务器上运行正常。我遇到了一个奇怪的问题。如果我使用客户登录,一切正常,会话被创建,客户可以访问他的帐户数据。
当我通过企业家门户网站登录时,会发生一些奇怪的事情。当我var_dump()
'$_SESSION
变量时,登录后直接显示会话对象。按F5或导航到门户网站中的另一个页面时,$_SESSION
变量将被销毁,var_dump($_SESSION)
显示一个空数组。
我发现Why PHP Session Destroyed?提出了修复Lighttpd销毁会话的解决方案。我认为这不是问题,因为我的会话在一个登录门户网站上工作,而在另一个登录门户网站上工作。
有没有人知道我的会话被破坏的原因?
这是我设置会话变量的方式:
$_SESSION["ll_oid"] = $q["id"]
(其中$q["id"]
是企业家ID)
这就是我检查它的方式:
$id = $_SESSION["ll_oid"];
if($id == null) {
session_destroy();
header("Location: index.php");
die();
}
在所有页面中,在发送任何标头之前调用session_start()
。