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 访问时间也减少了一个小时,因此我假设。
登录(成功)
- 过期日期:
Mon, 31 Dec 2018 03:53:21 GMT
- 上次访问时间:
Sun, 30 Dec 2018 03:53:21 GMT
刷新 #1(成功)
- 过期日期:
Sun, 30 Dec 2018 05:53:31 GMT
- 上次访问时间:
Sun, 30 Dec 05:53:31 GMT
刷新 #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 文件中的时区设置解决了这个问题。
我 运行 遇到了一个问题,因为我的 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 访问时间也减少了一个小时,因此我假设。
登录(成功)
- 过期日期:
Mon, 31 Dec 2018 03:53:21 GMT
- 上次访问时间:
Sun, 30 Dec 2018 03:53:21 GMT
- 过期日期:
刷新 #1(成功)
- 过期日期:
Sun, 30 Dec 2018 05:53:31 GMT
- 上次访问时间:
Sun, 30 Dec 05:53:31 GMT
- 过期日期:
刷新 #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 文件中的时区设置解决了这个问题。