Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 设置会话域时,Laravel数据库会话不工作_Php_Laravel_Session Cookies - Fatal编程技术网

Php 设置会话域时,Laravel数据库会话不工作

Php 设置会话域时,Laravel数据库会话不工作,php,laravel,session-cookies,Php,Laravel,Session Cookies,我在存储会话cookie时遇到数据库驱动程序问题: 数据库连接当前正在工作,但浏览器中未设置cookie,但会话数据在我的数据库中 我已经跑了: SESSION_DRIVER=database php artisan会话:表 在my.env文件中设置数据库会话: SESSION_DRIVER=database 在config/session.php文件下面: 127.0.0.1 webcv.local 127.0.0.1 admin.webcv.local SESSION_DOMAIN=

我在存储会话cookie时遇到数据库驱动程序问题:

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

我已经跑了:

SESSION_DRIVER=database

php artisan会话:表 在my
.env
文件中设置数据库会话:

SESSION_DRIVER=database
config/session.php
文件下面:

127.0.0.1 webcv.local
127.0.0.1 admin.webcv.local
SESSION_DOMAIN=.webcv.local
[
'driver'=>env('SESSION_driver','file'),
'连接'=>'mysql',
'表'=>'会话',
]
编辑1:

SESSION_DRIVER=database
web.php
中的路径:

Route::group(['domain'=>GetDomainInfo::GetDomainName(),'middleware'=>'web'],函数(){
路由::获取(“/”,“HomeController@index");
});
通过以下方式解决问题: 例如,我通过向我的
主机
文件中添加以下内容,创建了一个localhost域:webcv

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

'domain'=>env('SESSION_domain',“.webcv.local”),
或者只需在
.env
文件中添加:

127.0.0.1 webcv.local
127.0.0.1 admin.webcv.local
SESSION_DOMAIN=.webcv.local

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

使用数据库驱动程序进行会话时,必须创建会话表

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

因此,首先生成迁移,然后迁移:

php artisan会话:表

执行迁移:

php artisan迁移

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

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

SESSION_DRIVER=database

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

请提供有关此问题的更多信息。错误是什么?没有错误,但当我检查浏览器上的cookie时,没有存储任何内容
php artisan会话:table
composer dump autoload
php artisan migrate
@RïshïKêshKümar我已经运行了这些命令hanks,但我已经运行了php artisan会话:table composer dump autoload php工匠migrate@loic.lopez您是否已检查您的路由是否在
web
中间件下运行?您正在使用laravel本机身份验证系统吗?您是否已使用注册帐户登录?是的,我使用laravel身份验证系统查看我的edit@loic.lopez问题在于这个领域。您可以在路由组之前执行
dd(GetDomainInfo::GetDomainName())
,并告诉我该输出是什么吗?它必须与您在
config/session.php
=>
'domain'=>'.yourdomain.com'
中的相同。如果行得通,我会修改我的问题。另外,请记住,在更改我正在运行的文件
dd(config('session.domain'))上的任何内容后,清除cookies/重新登录结果到
”.webcv“
dd(GetDomainInfo::GetDomainName())结果到
“webcv”
“webcv”是我的主要本地主机域