Laravel 会话 Cookie 过期更改

Laravel Session Cookie Expiry Changing

我 运行 遇到了一个问题,因为我的 Laravel 会话 cookie 在我每次刷新时都会更改过期时间,并且经常在刷新 2 次后过期。

我认为预期的功能是在您最后一次与该服务交互后 x 分钟过期,但我的功能似乎非常 不同。让我详细说一下:

在我的 Laravel .env 文件中

APP_TIMEZONE="Pacific/Auckland"

通过 CLI 访问 PHP 我得到关于我当地时间的输出:

php -a
Interactive shell
php > echo date("Y-m-d H:i:s");
2018-12-30 04:08:09
php > echo date_default_timezone_get();
UTC
php > echo date('I');
0

上面给出的时间晚了一个小时。我认为 PHP 的夏令时配置错误。我的 cookie 访问时间也减少了一个小时,因此我假设。

  1. 登录(成功)

    • 过期日期:Mon, 31 Dec 2018 03:53:21 GMT
    • 上次访问时间:Sun, 30 Dec 2018 03:53:21 GMT
  2. 刷新 #1(成功)

    • 过期日期:Sun, 30 Dec 2018 05:53:31 GMT
    • 上次访问时间:Sun, 30 Dec 05:53:31 GMT
  3. 刷新 #2(已注销)

    • 过期日期:Sun, 30 Dec 2018 05:53:39 GMT
    • 上次访问时间:Sun, 30 Dec 2018 05:53:39 GMT

这是它发生的视频:https://youtu.be/ssPAn5aE0ME

我原以为我的 Expires on value 会提前到我上次访问应用程序时的 24 小时(这是我的会话超时设置)。

如有任何帮助,我们将不胜感激!

我通过双重和三次检查我的 .env 文件和 PHP ini 文件中的时区设置解决了这个问题。