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

почему php-fpm работает как никто?

Недавно я установил php-fpm на свой сервер (стандарт CENTOS 6.5 x86_64, WHM 11.44.1 (сборка 7)), следуя инструкциям здесь: http://infoliser.com/how-to-configure-apache-2-2-with-php-fpm-using-whm-cpanel-and-easyapache/

Серверный API, раскрытый phpinfo(), теперь называется FPM / FastCGI.

Однако, когда я запускаю скрипт php, содержащий exec('id'), Я получил:

uid=99(nobody) gid=99(nobody) groups=99(nobody)

У меня сложилось впечатление, что php-fpm будет работать как uid владельца php-скрипта, а не как владелец процесса http (как в этом случае). Эта страница http://php-fpm.org/ говорит, что у fpm есть «возможность запускать рабочие с другим uid / gid / chroot / environment и другим php.ini (заменяет safe_mode)».

Что я делаю не так?

PHP-FPM выполняет скрипт не как владелец скрипта, а как пользователь, настроенный в соответствующей конфигурации пула.

В моей системе Debian пул по умолчанию www определяется в /etc/php5/fpm/pool.d/www.conf и содержит:

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www-data
group = www-data

Ваш, вероятно, будет user=nobody и group=nobody. Вы можете создать больше пулов и использовать их, назначив их в конфигурациях Apache / NGINX / других.