php-fpm:错误:无法绑定地址“127.0.0.1:9000”的侦听套接字:地址已在使用中(48)

1 php nginx server

我的本地服务器运行 php-fpm 和 nginx 时遇到一个小问题。

我无法运行 php-fpm 它返回错误(标题)。

当我输入命令时,sudo lsof -i :9000我得到这个(服务器/网络不是我喜欢的):

php-fpm   47 root    8u  IPv4 0x619bafbaac199241      0t0  TCP localhost:cslistener (LISTEN)
php-fpm  262 _www    9u  IPv4 0x619bafbaac199241      0t0  TCP localhost:cslistener (LISTEN)
php-fpm  263 _www    9u  IPv4 0x619bafbaac199241      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 2623 _www    9u  IPv4 0x619bafbaac199241      0t0  TCP localhost:cslistener (LISTEN)
Run Code Online (Sandbox Code Playgroud)

配置文件/usr/local/etc/php/7.2/php-fpm.conf测试成功

sudo php-fpm -t返回:

NOTICE: configuration file /usr/local/etc/php/7.2/php-fpm.conf test is successful

这是正常的吗?如果没有,我该如何搭乘它?

Rah*_*oni 5

这个问题是一年前提出的,但是,如果有人碰上这个问题,比如我。以下是对我有用的方法(在 Mac OS Catalina 10.15.6 上):

  1. 在终端中执行brew services list,输出如下:

    Name       Status  User  Plist
    nginx      started foo   /Users/foo/Library/LaunchAgents/homebrew.mxcl.nginx.plist
    php        started root  /Library/LaunchDaemons/homebrew.mxcl.php.plist
    postgresql stopped            
    redis      stopped
    
    Run Code Online (Sandbox Code Playgroud)
  2. 从上面的输出中,我们知道 php-fpm 的用户不是foo。因此,停止服务,使用:sudo brew services stop php

  3. 最后,使用以下命令重新启动foobrew services restart php的 php: 。

按照上述步骤后一切正常。该问题的主要原因是端口“9000”已被root php 进程使用,因此foo php 进程未初始化。