php-fpm.sock 丢失:CentOS 7 上的 php7.2

Hir*_*oki 3 php centos nginx centos7

摘要:我尝试在 PHP7.2 和 CentOS 7 上使用 Nginx,但找不到 php-fpm.sock

我曾经在Ubuntu 16上使用PHP7.0 。最近,我切换到了CentOS 7现在我尝试使用 Nginx 和最新的 PHP (即PHP7.2)进行设置

在 Ubuntu 16 上的 PHP7.0 上,php-fpm 的套接字文件存储在...

/run/php/php7.0-fpm.sock

然而,在PHP7.2上。和CentOS7,我看不到/run/php/目录。所以,很明显,PHP7.2和CentOS上的Nginx不能以这种方式配置

我搜索了 Stackoverflow,但大多数帖子都在处理旧版本的 php(比如这个

如果我运行yum install php-fpm,它会导致"already installed",所以我确信 php-fpm 本身已经存在

在此输入图像描述

如果我运行“ps aux | grep php-fpm”...

在此输入图像描述

我可以看到有一个直接命名的/etc/php-fpm.d,但它只有一个名为 的文件www.conf,而不是套接字文件。

本教程显示 sock/run/php-fpm/www.sock在 PHP7.2 和 CentOS 7 上的存储方式相同,但在我的机器中,只有php-fpm.pid.

那么,sock 文件到哪里去了呢?任何建议将被认真考虑。

PS:我也感兴趣为什么Ubuntu+PHP7和CentOS+PHP7.2在存储PHP文件的位置上有这样的差异

Dan*_*nin 5

这两个发行版(Ubuntu 和 CentOS)使用不同的包机制(aptvs yum)、不同的包和不同的维护者,并采用不同的方法。因此,您可能会期望两个系统之间的结构甚至工作方式存在相当大的差异。

Remi 的默认 PHP-FPM 配置确实有一个池侦听端口 9000(据我所知)。

如果你想让它监听 Unix 套接字,你必须调整 PHP-FPM 池配置。那是/etc/php-fpm.d/www.conf。所以你需要在那里指定:

listen = /var/run/php-fpm/php-fpm.sock
Run Code Online (Sandbox Code Playgroud)

这只是为了给你一个想法:)