【发布时间】:2018-02-09 10:47:00
【问题描述】:
我有一个网站可以加载带有相应标志的国家/地区下拉菜单。我目前没有所有可用的标志,所以我收到了几个 404。这符合预期,无需担心。
奇怪的是,我的登录会话丢失了。当页面加载完毕并且我离开(甚至是页面刷新)时,我需要再次重新登录。这种情况每次都会发生,而不是随机发生。
如果我在脚本中只请求一张错误 (404) 图像,则一切正常,因为我不会丢失会话。
~我正在使用 Laravel,如果这很重要的话
Ubuntu 16.04
PHP version 7.0.22
Apache 2.0
Laravel 4.2
Laravel 会话配置:
'driver' => 'file',
'lifetime' => 120,
'expire_on_close' => false,
apache2/access.log的一部分:
<IP> - - [31/Aug/2017:14:35:35 +0200] "GET /admin/user/edit/1 HTTP/1.1" 200 15970 "https://<dev_website>/admin" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Geck$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_0.png HTTP/1.1" 404 12585 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHT$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_1.png HTTP/1.1" 404 12740 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHT$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_4.png HTTP/1.1" 404 12738 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHT$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_7.png HTTP/1.1" 404 12583 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHT$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_6.png HTTP/1.1" 404 12591 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHT$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_14.png HTTP/1.1" 404 12583 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KH$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_12.png HTTP/1.1" 404 12583 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KH$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_11.png HTTP/1.1" 404 12585 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KH$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_21.png HTTP/1.1" 302 1078 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHT$
<IP> - - [31/Aug/2017:14:35:36 +0200] "GET /img/flags/nl_18.png HTTP/1.1" 302 1080 "https://<dev_website>/admin/user/edit/1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHT$
1
【问题讨论】:
-
您使用的是哪种会话驱动程序?
-
@GiamPy 文件会话驱动
-
已知有时会导致问题,特别是对于并发请求。尝试使用数据库或 Redis 驱动程序。以前我自己也有过,换了驱动就消失了。
-
@GiamPy Redis 没有运行,所以我将设置一个数据库并用它做一些测试。这听起来像是解决方案。设置完成后会回复你
-
@GiamPy 嗯,似乎设置数据库对我来说失败了。可能是因为这是一天的结束...... .htaccess 技巧有效,所以我现在就使用那个,虽然我会记住这一点一段时间后看看
标签: php apache laravel session http-status-code-404