会话数据权限问题、多个 PHP-FPM 池上的多个 UID

会话数据权限问题、多个 PHP-FPM 池上的多个 UID

我在 40 个不同的 PHP-FPM 池中的 40 个不同端口上运行了 40 个相同的 Web 应用的 nginx 服务器。每个池都由一个单独的用户运行。

sessions.save_pathphp.ini/tmp/php_sessions。假设我第一次访问http://mywebsite.com:5007。我可以观察到这个文件弹出在/tmp/php_sessions

-rw------- 1 www-data07 www-data07     0 jan.  17 00:35 sess_bb84gmtago2u33g1jmtbhdcu80

然后我访问http://mywebsite.com:5008。在我的浏览器中,我可以看到此错误

Warning: Unknown: open(/tmp/php_sessions/sess_bb84gmtago2u33g1jmtbhdcu80, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp/php_sessions) in Unknown on line 0

我明白这是因为用户www-data08试图写入仅www-data07具有写入权限的文件。但为什么不www-data08创建自己的会话数据?我该如何解决这个问题?

答案1

我在这里反应有点快。在我的特定实例中,问题是所有 40 个 Web 应用都在我的浏览器中共享同一个 cookie。当我从端口 5007 移动到端口 5008 时,我的浏览器试图从端口 5007 继续我的会话,但使用不同的后端 UID。

相关内容