一般情况下,肯定是不推荐使用root用户启动php的

但是在某些服务器管理想使用WEB的方式来控制操作的话,那么就必须要使用root用户才有权限操作

1、修改配置文件php-fpm.conf的启动用户为root,默认是nobody

我这里的php-fpm配置文件是在这里,

vim /usr/local/php7/etc/php-fpm.d/www.conf

  1. 17 ; Default Value: none
  2. 18 ;prefix = /path/to/pools/$pool
  3. 19
  4. 20 ; Unix user/group of processes
  5. 21 ; Note: The user is mandatory. If the group is not set, the default user's group
  6. 22 ;       will be used.
  7. 23 user = root
  8. 24 group = www
  9. 25
  10. 26 ; The address on which to accept FastCGI requests.
  11. 27 ; Valid syntaxes are:
  12. 28 ;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific IPv4 address on
  13. 29 ;                            a specific port;
  14. 30 ;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
  15. 31 ;                            a specific port;
  16. 32 ;   'port'                 - to listen on a TCP socket to all addresses
  17. 33 ;                            (IPv6 and IPv4-mapped) on a specific port;
  18. 34 ;   '/path/to/unix/socket' - to listen on a unix socket.
  19. 35 ; Note: This value is mandatory.
  20. 36 listen = 0.0.0.0:9000
 

2、启动PHP

  1. /usr/local/php7/sbin/php-fpm

启动的时候发现报错,启动不了

  1. ERROR: [pool www] please specify user and group other than root
  2. ERROR: FPM initialization failed

默认是不允许root用户启动的

我们可以看下--help

  1. [root@localhost ~]# /usr/local/php7/sbin/php-fpm --help
  2. Usage: php-fpm [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix>] [-g <pid>] [-c <file>] [-d foo[=bar]] [-y <file>] [-D] [-F [-O]]
  3. -c <path>|<file> Look for php.ini file in this directory
  4. -n               No php.ini file will be used
  5. -d foo[=bar]     Define INI entry foo with value 'bar'
  6. -e               Generate extended information for debugger/profiler
  7. -h               This help
  8. -i               PHP information
  9. -m               Show compiled in modules
  10. -v               Version number
  11. -p, --prefix <dir>
  12. Specify alternative prefix path to FastCGI process manager (default: /usr/local/php7).
  13. -g, --pid <file>
  14. Specify the PID file location.
  15. -y, --fpm-config <file>
  16. Specify alternative path to FastCGI process manager config file.
  17. -t, --test       Test FPM configuration and exit
  18. -D, --daemonize  force to run in background, and ignore daemonize option from config file
  19. -F, --nodaemonize
  20. force to stay in foreground, and ignore daemonize option from config file
  21. -O, --force-stderr
  22. force output to stderr in nodaemonize even if stderr is not a TTY
  23. -R, --allow-to-run-as-root
  24. Allow pool to run as root (disabled by default)
  25. You have new mail in /var/spool/mail/root

这里有个选项,-R, --allow-to-run-as-root,表示允许通过root启动

# /usr/local/php7/sbin/php-fpm -R

启动后验证下

  1. [root@localhost ~]# ps aux | grep php
  2. root      2590  0.3  0.4  30352  4296 ?        Ss   10:30   0:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
  3. root      2591  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  4. root      2592  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  5. root      2593  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  6. root      2594  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  7. root      2595  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  8. root      2596  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  9. root      2597  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  10. root      2598  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  11. root      2599  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  12. root      2600  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www
  13. root      2601  0.0  0.2  30352  2604 ?        S    10:30   0:00 php-fpm: pool www

这里发现已经使用root用户启动OK。

php使用root用户启动的更多相关文章

  1. mysql用root用户启动后其他用户无法启动不问题

    问题描述:用root账户启动mysql后,在用mysql用户或其他非root账户启动不了mysql问题解决:通过看mysql的err日志,发现 Failed to open log (robert-b ...

  2. 【出错记录】Tomcat非root用户启动无法拥有权限读写文件

    简单记录下,如有必要,将深入补充: 一.非root用户运行Tomcat及原因 由于项目中,为了安全需要,Tomcat将禁止以root形式启动,原因很简单,举个例子,一旦有人恶意将jsp文件透过某个别的 ...

  3. Linux 解决Deepin深度系统无法在root用户启动Google Chrome浏览器的问题

    解决Deepin无法在root用户启动Google Chrome浏览器的问题,步骤如下. 前提:如何用root用户登录系统?编辑 vim /etc/lightdm/lightdm.conf , 找到并 ...

  4. centos7新增用户并授权root权限、非root用户启动tomcat程序

    一.centos7新增用户并授权root权限 cat /etc/redhat-release查看centos版本号 1.禁用root账户登录 vim /etc/ssh/sshd_config 找到这一 ...

  5. 二进制方式安装docker(非root用户启动docker)

    二进制方式安装docker(非root用户启动docker) 一.下载安装包: 地址:https://download.docker.com/linux/static/stable/x86_64/ 这 ...

  6. Ubuntu配置Tomcat9非root用户启动

    unix类系统的root用户具有极大的权利,所以很多时候我们不希望程序以root身份启动,这也就是配置Tomcat以指定身份(非root)启动的初衷,虽然也没人来攻击我的服务器,但本着学习学习的目的, ...

  7. zzw原创_非root用户启动apache的问题解决(非root用户启动apache的1024以下端口)

    场景:普通用户编译的apache,要在该用户下启动1024端口以下的apache端口 1.假设普通用户为sims20,用该用户编译 安装了一个apache,安装路径为/opt/aspire/produ ...

  8. 使用非root用户启动tomcat

    以下操作均为以root用户运行1.添加tomcat用户组 /usr/sbin/groupadd tomcat 2.添加tomcat用户,并限制登录 /usr/sbin/useradd -s /bin/ ...

  9. Linux下的 mariadb 使用 root 用户启动方式

    近日因测试安全产品需要,想调整mariadb的启动用户为root, 经历一番波折后终于成功! 注意:以root身份启动mysql是一项非常危险行为,相当于给了数据库操作用户(数据库管理员或黑客)一个通 ...

随机推荐

  1. Python爬虫入门教程 14-100 All IT eBooks多线程爬取

    All IT eBooks多线程爬取-写在前面 对一个爬虫爱好者来说,或多或少都有这么一点点的收集癖 ~ 发现好的图片,发现好的书籍,发现各种能存放在电脑上的东西,都喜欢把它批量的爬取下来. 然后放着 ...

  2. C#版 - PAT乙级(Basic Level)真题 之 1024.科学计数法转化为普通数字 - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. PAT Bas ...

  3. Node.js API 初解读(三)

    目录 Node.JS API 初解读三 Node.JS API 初解读三 Version: NodeJs v6.2.0 一. DNS (Domain Name Server) [域名服务器] 1.简介 ...

  4. Spring Boot2.0 静态资源被拦截问题

    在Spring Boot2.0+的版本中,只要用户自定义了拦截器,则静态资源会被拦截.但是在spring1.0+的版本中,是不会拦截静态资源的. 因此,在使用Spring Boot2.0+时,配置拦截 ...

  5. centos7修改网卡名字为传统名字

    前言:在centos6及其之前的系统中,我们已经习惯了网卡为eth0,eht1这种网卡命名方式,在centos7上网卡名字为ens33,ens37,ens38等名字,很别扭,想统一下网卡的命名. 1 ...

  6. SpringBoot整合系列-PageHelper分页插件

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9971043.html SpringBoot整合MyBatis分页插件PageHelper ...

  7. 【.NET Core项目实战-统一认证平台】第七章 网关篇-自定义客户端限流

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章我介绍了如何在网关上增加自定义客户端授权功能,从设计到编码实现,一步一步详细讲解,相信大家也掌握了自定义中间件的开发技巧了,本篇我们 ...

  8. Linux学习笔记之Python3的安装以及创建虚拟环境(CentOS)

    安装python3 一.安装需要编译的关联库 yum instal -y zlib zlib-devel (根据自己系统的情况,安装需要的关联库,同样用yum安装即可) yum install ope ...

  9. JavaScript技巧(未完成)

    1.在js脚本语言中使用HTML语言中的< >号,但是在XHTML中却不能使用这类符号,可以将<号转换成&lt符号(XHTML比HTML跟严格),这种做法比较不好理解,可以用 ...

  10. [Go] 并发和并行的区别

    并发和并行的区别:1.并行是让不同的代码片段同时在不同的物理机器上运行,并行的关键是在不同的物理机器上同时运行 2.并发是同时管理很多事情,比如在一个物理机器上进行不停的调度,有些事情可能只做了一半就 ...