【问题标题】:Laravel doesn't keep session when use SQLite database使用 SQLite 数据库时 Laravel 不保持会话
【发布时间】:2019-01-21 16:24:30
【问题描述】:

我将我的 MySQL 数据库转换为 SQLite 数据库,但现在登录系统不再工作了。我正在使用DATABASE=sqliteSESSION_DRIVER=file。怎么了?

当我输入我的电子邮件和密码并按登录时,系统会再次将我重定向到登录页面,而不会出现任何错误消息。

我在登录后多次尝试更改重定向路由,只有未经身份验证的路由有效;这是因为Auth::user or auth()->user()未定义的对象。登录进展顺利,因为如果我输入密码错误,系统会告诉我凭据错误。

显然,我尝试在设置 SQLite 数据库并且运行良好(例如App\User::first()->name in login.blade.php)时进行查询。

我尝试恢复 DB_CONNECTION=mysql 并且一切正常(和以前一样):当我使用我的电子邮件和密码登录时,系统会将我重定向到仪表板。

我在带有 SQLite 3.26 的 Windows 10 中使用 Laravel 5.7。

编辑 我的 .env 文件的一部分

APP_NAME=*****
APP_ENV=local
APP_KEY=******
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=sqlite
DB_DATABASE=database.sqlite

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

...

SNAPPY_PDF_BIN='C://"Program Files"/wkhtmltopdf/bin/wkhtmltopdf'
SNAPPY_IMG_BIN='C://"Program Files"/wkhtmltopdf/bin/wkhtmltoimage'

SES_KEY=****
SES_SECRET=****

【问题讨论】:

  • 你能发布你的环境文件吗?这些应该是无关的。
  • @LeonardoLeite 我编辑了帖子添加了我的 .env

标签: laravel sqlite


【解决方案1】:

我找到了解决方案。 Laravel 没有任何问题,问题是 sqlite 数据库(文件)。它没有很好地从 mysql 转换为 sqlite。最后,唯一有效的是您可以找到here 的“著名”bash 脚本“mysql2sqlite.sh”。它只适用于我的数据库为空。使用数据,在进行转换时出现错误。

希望能帮到人,问候!

【讨论】:

    猜你喜欢
    • 2016-09-29
    • 1970-01-01
    • 2017-12-21
    • 2014-11-27
    • 2022-09-23
    • 2023-02-13
    • 2015-11-26
    • 2012-11-07
    • 1970-01-01
    相关资源
    最近更新 更多