【问题标题】:Unable to start php-fpm - "cannot get uid for user 'apache'"无法启动 php-fpm -“无法获取用户 'apache' 的 uid”
【发布时间】:2014-11-04 15:59:40
【问题描述】:

在新的 AWS Linux HVM 机器上,我运行了以下命令:

sudo yum update
sudo yum install git nginx php-fpm

然后我尝试sudo service start php-fpm,但收到错误:

Starting php-fpm: [10-Sep-2014 20:52:39] ERROR: [pool www] cannot get uid for user 'apache'
[10-Sep-2014 20:52:39] ERROR: FPM initialization failed

我哪里出错了,apache 用户来自哪里?

【问题讨论】:

  • 你可以去/etc/passwd看看用户apache是否在这个文件里面。

标签: linux nginx php


【解决方案1】:

apache 用户来自php-fpm.conf 文件。以root身份运行它并不重要,服务将以该文件中配置的用户身份启动。

找到您的php-fpm.conf 文件。它应该在/etc 的某个地方。编辑它并更改行

user = apache
group = apache

user = www-data
group = www-data

我假设您的默认 nginx 配置也使用 www-data 用户。

【讨论】:

  • 很好的答案,谢谢!真实位置的示例(您可能有 PHP 7.0、7.1、7.2)您的路径可能有点不同:/etc/php/7.2/fpm/php-fpm.conf -- 在较新的版本中,它位于/etc/php/7.2/fpm/pool.d/www.conf,您会在@987654331 附近找到user/group @
  • 对我来说,在 7.0 上,它位于 /etc/php/7.0/fpm/pool.d/www.conf 中,位于 listen.grouplisten.owner 下。
【解决方案2】:

对于 docker OpenShift 无根方式,在构建中准备组

vim /etc/groups

例如nobody:x:999:

这是在 php-fpm

中的一些更新之后

【讨论】:

    【解决方案3】:

    只是为最新的 ubuntu 18.04 添加,它是一个不同的用户(magento)并且在 PHP 7.2 上运行。

    Feb 12 14:33:23 same-cloud systemd[1]: Starting The PHP 7.2 FastCGI Process Manager...
    Feb 12 14:33:23 same-cloud php-fpm7.2[8328]: [12-Feb-2020 14:33:23] ERROR: [pool magento] cannot get uid for user 'magento'
    Feb 12 14:33:23 same-cloud php-fpm7.2[8328]: [12-Feb-2020 14:33:23] ERROR: FPM initialization failed
    Feb 12 14:33:23 same-cloud systemd[1]: php7.2-fpm.service: Main process exited, code=exited, status=78/n/a
    Feb 12 14:33:23 same-cloud systemd[1]: php7.2-fpm.service: Failed with result 'exit-code'.
    Feb 12 14:33:23 same-cloud systemd[1]: Failed to start The PHP 7.2 FastCGI Process Manager.
    

    从终端,

    sudo nano /etc/php/7.2/fpm/pool.d/magento.conf
    

    我在magento.conf文件中修改了如下内容:

    [magento]
    user = www-data
    group = www-data
    listen.owner = www-data
    listen.group = www-data
    listen = /var/run/php/php7.2-fpm-magento.sock
    

    为了生效,运行以下命令:

    sudo systectl restart apache2
    

    查看状态

    systemctl status php7.2-fpm.service
    

    启用 fpm 的其他命令

    a2enmod proxy_fcgi setenvif
    sudo a2enconf php7.2-fpm
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      • 2013-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 2013-10-29
      相关资源
      最近更新 更多