PHP 升级总是破坏会话文件夹权限

PHP 升级总是破坏会话文件夹权限

每次我在 CentOS 机器上升级 php(通过 yum upgrade)时,我的 /var/lib/session 文件夹所有权都会变成 root:apache,权限为 600。我使用 nginx 作为我的 Web 服务器。这会破坏我的网站并阻止存储会话。

解决方法很简单,将文件夹 chown nginx:nginx。但是每次 yum 更新 php 时我都必须手动执行此操作。

我猜想问题源于这样一个事实:当我最初设置该框时,我运行了 apache。我可以在哪里将此配置更改为“nginx”以修复此问题?我查看了 php.ini,但找不到任何相关内容。指定了会话目录,但没有指定用户。

答案1

最好的方法是针对每个用户/池使用不同的会话目录。

在 php-fpm.d/www.conf(已修改为更改用户)中,并如注释中所述。

user = foo

; Set session path to a directory owned by process user
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/foo/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/foo/wsdlcache

因此,这些新目录在下次更新时不会改变。

顺便说一句,完全没有必要更改用户,您可以使用 nginx 并保持 fpm 作为 apache 运行(特别是因为大多数打包的 Web 应用程序都依赖于此)

相关内容