【问题标题】:Laravel database session not working when setting a session domain设置会话域时,Laravel 数据库会话不起作用
【发布时间】:2017-12-21 03:04:15
【问题描述】:

为了存储会话 cookie,我遇到了数据库驱动程序的问题:

数据库连接当前正在工作,但浏览器中未设置 cookie,但会话数据在我的数据库中。

我已经跑了:

php artisan session:table

在我的.env 文件中设置数据库会话:

SESSION_DRIVER=database

下面是config/session.php 文件:

[
    'driver' => env('SESSION_DRIVER', 'file'),
    'connection' => 'mysql',
    'table' => 'sessions',
]

编辑 1:

web.php中的路线:

Route::group(['domain' => GetDomainInfo::GetDomainName(), 'middleware' => 'web'], function () {
    Route::get('/', "HomeController@index");
});

已解决的问题:

例如,我通过添加到我的hosts 文件中创建了一个 localhost 域:webcv

127.0.0.1 webcv.local
127.0.0.1 admin.webcv.local

config/session.php 中将会话域设置为:.webcv.local,如下所示:

'domain' => env('SESSION_DOMAIN', ".webcv.local"),

或者直接添加.env文件:

SESSION_DOMAIN=.webcv.local

现在我可以使用相同的 cookie 访问 webcv.localadmin.webcv.local

【问题讨论】:

  • 请提供有关该问题的更多信息。什么错误?
  • 没有错误,但是当我在浏览器上检查 cookie 时没有存储任何内容
  • php artisan session:table composer dump-autoload php artisan migrate
  • @RïshïKêshKümar 我已经运行了这些命令

标签: php laravel session-cookies


【解决方案1】:

当您使用会话的数据库驱动程序时,您必须创建会话表。

我假设您已经通过 php artisan make:auth 构建了本机身份验证系统并迁移了迁移。

所以首先生成迁移,然后迁移: php artisan session:table

执行迁移: php artisan migrate

显然,如果您检查的路由没有使用 web 中间件,这将不起作用。 如果您没有在/routes/web.php 中注册路由,那么您必须手动为它们指定web 中间件。在控制器的构造函数中,或者直接在路由本身中。

修复后编辑以供将来参考:

另外,请检查您在 config/session.php 中的域是否与您在开发或生产中使用的域相同,具体取决于您在哪里工作。

【讨论】:

  • 谢谢,但我已经运行了 php artisan session:table composer dump-autoload php artisan migrate
  • @loic.lopez 您是否已经检查过您的路线在web 中间件下运行?您使用的是 laravel 原生身份验证系统吗?您已经使用注册帐号登录了吗?
  • 是的,我使用 laravel Auth 系统,看看我的编辑
  • @loic.lopez 问题出在那个域上。你能在那个路由组之前做一个dd( GetDomainInfo::GetDomainName() ),然后告诉我那个输出是什么吗?它必须与 config/session.php => 'domain' => '.yourdomain.com' 中的相同。如果可行,我将编辑我的问题。另外,请记住在更改该文件上的任何内容后清除 cookie/重新登录
  • 我已经将dd(config('session.domain')); 结果运行到".webcv"dd(GetDomainInfo::GetDomainName()); results 到"webcv" “webcv”是我的主要本地主机域
猜你喜欢
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
  • 2022-07-08
  • 2013-11-19
  • 2015-11-26
  • 2015-06-03
  • 2017-02-27
  • 2018-07-02
相关资源
最近更新 更多