我在 docker 容器里安装了 php7.2-fpm,然后上线网站之后 session 文件随机消失又出现,奇了怪了

2020-07-12 13:14:57 +08:00
 gouchaoer2
类似这种情况: https://stackoverflow.com/questions/41490713/php-session-variables-disappear-and-reappear-randomly

我的 php.ini 设置如下:

session.auto_start = 0
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440

修改后都重启了 fpm,感觉应该不是 session 回收的问题,因为如果 session 回收了为啥过了一会儿 session 文件又出现了(我打开浏览器 cookie,看 session 的那个 cookie 名判断对应的 session 文件是否存在的),而且 session 文件再次出现的时候里面是有内容的

为啥呢,想不通
2250 次点击
所在节点    PHP
3 条回复
gouchaoer2
2020-07-12 13:24:13 +08:00
我只有一个 docker 容器,session 文件夹的位置被我改到主机 mount 到 docker 容器的目录了,我怀疑是不是这个 mount 目录的问题,先改回默认位置试试
gouchaoer2
2020-07-12 13:50:51 +08:00
是这样的,我把 session.name 改了一下,现在我改成默认的 session.name = PHPSESSID,就 OK 了。。。我猜测 php7.2 这个 fpm 在回收的时候认 session.name 有点问题。。。
gouchaoer2
2020-07-12 14:15:32 +08:00
确定了,是 php 的 bug

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/689314

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX