Назад | Перейти на главную страницу

Обновление PHP всегда нарушает права доступа к папке сеанса

Каждый раз, когда я обновляю php (через yum upgrade) в моем ящике CentOS, моя папка / var / lib / session становится владельцем папки root: apache с разрешениями 600. Я использую nginx в качестве своего веб-сервера. Это нарушает работу моего сайта и предотвращает сохранение сеансов.

Чтобы исправить это, просто выберите папку nginx: nginx. Но мне приходится делать это вручную каждый раз, когда yum обновляет php.

Я полагаю, что проблема связана с тем, что при первоначальной настройке я запускал apache. Где я могу изменить эту конфигурацию на «nginx», чтобы решить эту проблему? Я заглянул в php.ini, но не нашел там ничего подходящего. Каталог сеанса указан, но ничего о пользователе.

Лучше всего использовать разные каталоги сеансов для каждого пользователя / пула.

В 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 (тем более, что большинство упакованных веб-приложений полагаются на это)