我注意到每次第一次加载页面时(新用户)都会创建一个新会话。我想禁用它。我想只在用户登录时才创建会话。
那么有没有办法告诉Laravel 4每次有新人加入网站时都不要创建新会话?
答案 0 :(得分:1)
使用Laravel 4.1 Dimirc答案似乎没有用于两个原因,首先是未知会话驱动程序引发错误,第二个会话很早就在Laravel中启动,因此需要提前更改会话驱动程序。
我目前正在解决同样的问题,并且发现我可以在会话开始之前在bootstrap / start.php第61行更改会话驱动程序。
此时框架已经加载了很多Laravel功能,但还没有加载会话。
您可以访问请求类,并检查用户是否在您要阻止会话的页面上,如下所示:
require $framework.'/Illuminate/Foundation/start.php';
if ($app['request']->getMethod() == 'GET' && $app['request']->path() == '/')
{
$app['config']->set('session.driver', 'array');
}
(第一行是bootstrap / start.php的第60行,具体取决于任何环境检测)。
注意我将会话驱动程序设置为数组,因为此驱动程序不会在请求之间保留数据。
希望这有帮助!
答案 1 :(得分:0)
您可以尝试将会话驱动程序设置为空字符串,以防止Laravel创建会话
Config::set('session.driver','');