3

我知道这个问题可能有点晦涩难懂,甚至可能不在正确的堆栈交换中。所以我要从这里开始。

我正在flask跑步flask-sessionredis

我的应用程序配置设置SESSION_TYPE为“redis”

我也u-msgpack-python用于与 PHP 与picklein的兼容性flask_session/session.py(在 dist 包中手动更改),但这似乎与它是否有效无关。

在 Debian 9 或 Ubuntu 16.04 上运行此配置时,一切正常。(还有 Python 3.4 或 3.5,以及 PHP 7.0,以及 Apache 或 Nginx(两者都可以))

但是,当我使用 Python 3.6 在 Ubuntu 18.04 上运行完全相同的代码库时,它不会保留会话。

会话 cookie 名称是PHPSESSID,键前缀是PHPSESSID:

但是..当我将 cookie 名称更改为类似的名称时MYSESSID,一切正常并在 Ubuntu 18.04 上保持会话。一旦我将其更改为 晒PHPSESSID,它就无法举行会议。

我已经监控了 Redis 服务器,我可以看到会话带有数据,所以我知道它正在正常通信。

其他信息:

运行:Nginx 1.14.0、Python 3.6、Ubuntu 18.04、PHP 7.2

任何方向或见解都会有所帮助。也许是PHP版本?

如有必要,请随意更改标签,或询问更多信息,我会尽可能提供。我对服务器具有完全的 root 访问权限。

4

0 回答 0