前言:centos 下面安装好PHP后,默认的的所属用户和组是 apache。该文件在 /etc/php-fpm.d/www.conf 文件中。(我是以yum安装的PHP)。 之前的项目都是创建一个专属的用户和用户组来管理PHP和Nginx,设置好权限后,基本上也没有问题。 但是最近的一个项目,部署好以后,出现了文件上传失败的问题:chmod(): Operation not permitted。 还是权限的问题。为了方便,决定以root用户管理PHP-fpm。
PHP 默认的时候是不能以 root 用户来管理php-fpm 的,修改完以后,启动项目,一直报错。
ERROR: [pool www] please specify user and group other than root
由于我是以 systemctl 的方式管理服务,网上查了好多,基本上启动PHP的方式都是 以
/usr/local/php7/sbin/php-fpm
这种方式启动的。
/usr/local/php7/sbin/php-fpm -R
加上 -R 确实可以更改以 root的方式启动成功,但是这种方式管理起来不方便。
以下是找到的解决方案:
1、修改 /etc/php-fpm.d/www.conf 文件中的用户和组都为 root
2、修改 /lib/systemd/system/php-fpm.service 文件, 在 ExecStart 最后 加上 -R
3、执行 systemctl daemon-reload
4、重启PHP systemctl start php-fpm
重启php-fpm 后访问网站,一切正常。 文件上传正常。