在开发环境中,为了避免文件权限带来的问题,可以将php-fpm的运行用户设为root.

但在默认情况下,直接修改php的运行用户为root,重启php-fpm进程后会报错

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

通过查看php-fpm的文档得知,如果要以root用户运行,需要加上特定参数

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

如何添加这一参数:

  1. 找到 php-fpm.service , 可以使用命令

    find / -name php-fpm.service
    
  2. 添加参数

    ExecStart=/usr/sbin/php-fpm --nodaemonize -R
    
  3. 重启php-fpm.

    systemctl restart php-fpm
    

注意,切勿在正式环境中使用root来运行php-fpm

Warning: php-fpm.service changed on disk. Run ‘systemctl daemon-reload’ to reload units. 修改后如有这个警告,执行即可。