我在我的本地机器上写了一个应用程序,一切都很完美,直到我在免费托管服务器上传了应用程序。问题是在这段代码中设置的所有会话变量:
SELECT m_product.name
,COUNT(m_product.name)
FROM m_product
GROUP BY m_product.name
UNION ALL
SELECT c_bpartner.name
,COUNT(c_bpartner.name)
FROM c_bpartner
GROUP BY c_bpartner.name
在我将其打印出来后,在此重定向(所有这些代码都是登录系统的一部分)后变空:
if($user) {
// regenerate session for safety purposes
//session_regenerate_id(true);
//set some session vars and redirect
$_SESSION['user_id'] = $user->id;
$_SESSION['first_name'] = $user->first_name;
$_SESSION['admin'] = $user->admin;
return true;
}
我只获得 Authentifiacation::login($user, $remember_me);
Flash::addMessage('Successfully logged in', Flash::SUCCESS);
// redirect user to the page which he originally requested
static::redirect('/admin/home/index');
exit();
的{{1}}。
然而,当我在设置后完全打印它们时它们都存在。
我使用简单的MVC框架,一切都在localhost上运行良好。我已经尝试过:
1)尽管它位于前端控制器index.php中,但在脚本的不同部分添加Array()
2)设置变量后print_r($_SESSION)
3)session_start()
之后session_regenerate_id()
4)将exit()
设置为关闭的代码
5)删除.htaccess
还有其他可能的原因吗?