php会话';停止';无缘无故
我有一个vbulletin论坛。位于php会话';停止';无缘无故,php,session,vbulletin,Php,Session,Vbulletin,我有一个vbulletin论坛。位于www.myDomain.com/Forum 我在www.myDomain.com/OtherSite/app 我希望我的论坛登录用户能够在其他网站上识别。 论坛的cookies会话路径位于主域路径/var/www/myDomain 在我的网站上,我使用 chdir(FORUM_DIR); include './global.php'; $arr = $vbulletin->userinfo; 来获取会话。 事情是这样的-它起作用了。我得到用户数据等。
www.myDomain.com/Forum
我在www.myDomain.com/OtherSite/app
我希望我的论坛登录用户能够在其他网站上识别。
论坛的cookies会话路径位于主域路径/var/www/myDomain
在我的网站上,我使用
chdir(FORUM_DIR);
include './global.php';
$arr = $vbulletin->userinfo;
来获取会话。
事情是这样的-它起作用了。我得到用户数据等。。。
然后,在加载几页后,它会无明显原因地停止工作
在我看来,一个可能的原因是我在页面加载中使用了两次代码(上面列出的)。。。可能是这个吗
编辑:
更多的代码,直到sesion包括,根据要求
edit2:
感谢@VladTeodorescuI已经将所有的include更改为include_一次,但仍然有相同的症状,用户数据会显示出来,然后在使用15分钟后,会话“消失”。。(我已经查看了论坛站点,用户仍在那里登录)
我试图从
myDomain.com/GoldSig/app
会话的数据存储在www.myDomain.com/GoldSig/app
不过,我会被自动重定向到FF中的myDomain.com/GoldSig/app
困难部分已结束。80%的案例会话无法工作,因为它不是第一个包含在页面中的案例。如果不是这样的话,你需要发布更多的代码,也许就像你说的那样——在某处调用它两次——使用include_once而不是include。它可以确保您不会两次错误地包含一个文件,并且可能很好地解决您的问题。hi@VladTeodorescu,请参见上面的编辑。
ini_set('display_errors',1);
error_reporting(E_ALL);
// CONSTS
//PATHS
define('MAIN_DIR', dirname(dirname(dirname(__DIR__))));
define('APP_NAME', 'GoldSig');
define('CLASS_DIR', MAIN_DIR .'/class');
define('APP_DIR', MAIN_DIR.'/'.APP_NAME.'/app');
define('FORUM_DIR', MAIN_DIR.'/Forum');
define('CHAT_DIR', APP_DIR.'/chat');
//commands and trades tables names
define('T_COMMAND', 'commands');
include_once CLASS_DIR . '/Services/Helper/Files.php';
include_once CLASS_DIR . '/Services/Login/Authorize.php';
if (!Authorize::IsLocalhost()){
chdir(FORUM_DIR);
include_once './global.php';
$arr = $vbulletin->userinfo;
}