如何以 root 身份运行 php-fpm

2022-08-30 20:39:37

我知道以root身份运行php-fpm的风险。但是,在某些情况下,人们需要这样做,例如设备,访问操作系统资源甚至用于测试目的。

我尝试将php-fpm.d/www.conf的用户和组更改为root,当我重新启动php-fpm进程时,它会引发错误:

Starting php-fpm: [26-Jun-2014 00:39:07] ERROR: [pool www] please specify user and group other than root
[26-Jun-2014 00:39:07] ERROR: FPM initialization failed
[FAILED]

我该怎么办。有人帮忙吗?


答案 1

看:

# php-fpm --help
...
 -R, --allow-to-run-as-root
               Allow pool to run as root (disabled by default)

答案 2

只是将(如这样和建议)添加到您的命令中可能不起作用。这取决于您如何运行命令来启动 。-Rphp-fpm

如果你正在使用,并且它使用/etc/init.d而不是(请参阅此处),那么你必须将-R添加到脚本中的变量中。(此变量在函数中使用。请参阅此处)。service php-fpm restartsystemctlDAEMON_ARGS/etc/php/<phpversion>/fpm/php-fpm.confdo_start()

如果它正在使用,那么您必须编辑所使用的脚本,该脚本应位于 .追加到变量。然后运行和(请参阅此处)systemctlsystemctl/lib/systemd/system/<phpversion>-fpm.service-RExcecStartsystemctl daemon-reloadsystemctl start php<version>-fpm)

我使用以下问题/答案/资源来帮助我编译此解决方案。

  1. https://serverfault.com/a/189961
  2. https://serverfault.com/q/788669
  3. https://stackoverflow.com/a/52919706/9530790
  4. https://serverfault.com/a/867334
  5. https://www.geeksforgeeks.org/what-is-init-d-in-linux-service-management/

推荐