У меня есть сайт Concrete5, который мне нужно перейти на php-fpm из libphp7-zts.

Я настроил PHP-FPM как обычно с сокетом Unix, и PHP (например, "PHP info") обслуживается нормально. Я убедился, что PHP-FPM работает как пользователь "Apache" и группа "Apache" (RHEL7).

Соответствующий конфиг php-fpm:

[www]

user = apache
group = apache

listen = /run/php-fpm/www.sock

listen.owner = apache
listen.group = apache
listen.mode = 0660

listen.allowed_clients = 127.0.0.1

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on

php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/fpm/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/fpm/wsdlcache

К сожалению, когда приложение (CMS, Concrete5) пытается что-то сделать с контентом, я получаю "Отказано в доступе" - так в соответствии с заголовком:

mkdir() Отказано в доступе.

Selinux находится в разрешающем режиме, разрешения для файлов и папок в порядке, так как (теперь не поддерживается) libphp7-zts работает нормально.

Любые идеи будут в значительной степени присвоены. заранее спасибо

1 ответ1

0

Я нашел и исправил проблему с этой настройкой. Это часть конфигурации, чтобы обвинить:

php_value[session.save_path]    = /var/lib/php/fpm/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/fpm/wsdlcache

поэтому все, что у вас есть в php.ini для session.save_path перезаписывается (так сказать) и требует правильных прав доступа для пользователя, который запускает php-fpm, чтобы иметь возможность писать. В моем случае я сопоставил это с конфигурацией php.ini, и это, кажется, работает как ожидалось.

надеюсь, это поможет

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .