PHP FPM - 检查是否正在运行

Mar*_*ace 38 php

php fpm网站上的文档说,php fpm是5.3.3中coe php的一部分

我正在运行5.3.10,我如何检查它是否正常工作?我以为这是一个在端口上运行的服务?

Sam*_*ody 49

假设你在Linux上,通过搜索进程列表来检查php-fpm是否正在运行:

ps aux | grep php-fpm
Run Code Online (Sandbox Code Playgroud)

如果通过IP运行(而不是通过Unix套接字),那么您还可以检查端口:

netstat -an | grep :9000
Run Code Online (Sandbox Code Playgroud)

或者使用nmap:

nmap localhost -p 9000
Run Code Online (Sandbox Code Playgroud)

最后,我已经读过您可以请求状态,但根据我的经验,这已被证明是不可靠的:

/etc/init.d/php5-fpm status
Run Code Online (Sandbox Code Playgroud)

  • phpinfo() 让你知道吗?我可以看到 php-fpm 正在运行,但我不相信它的配置正确,因为 phpinfo() 仍然显示 mod_php7 以及 mod_fastcgi。有可能两者都在运行吗? (3认同)

pro*_*sti 14

对于php7.0-fpm,我这样做

service php7.0-fpm status
Run Code Online (Sandbox Code Playgroud)

php7.0 -fpm启动/运行,进程25993

现在注意好的部分.进程名称实际上是php-fpm7.0

echo `/bin/pidof php-fpm7.0`
Run Code Online (Sandbox Code Playgroud)

26334 26297 26286 26285 26282


小智 6

如果它可以帮助某人,在 amilinux 上安装 php5.6 和 php-fpm,它是:

sudo /etc/init.d/php-fpm-5.6 status


Jas*_*son 5

这是在php-fpm 7上使用套接字的方法

install socat
apt-get install socat

#!/bin/sh

  if echo /dev/null | socat UNIX:/var/run/php/php7.0-fpm.sock - ; then
    echo "$home/run/php-fpm.sock connect OK"
  else
    echo "$home/run/php-fpm.sock connect ERROR"
  fi
Run Code Online (Sandbox Code Playgroud)

您还可以检查服务是否正在像这样运行。

service php7.0-fpm status | grep running
Run Code Online (Sandbox Code Playgroud)

它将返回

活动:自Sun 2017-04-09 12:48:09 PDT起活动(运行); 48s前


Jar*_*ipe 1

PHP-FPM 是一项在需要时生成新 PHP 进程的服务,通常通过 nginx 等 fast-cgi 模块。您可以通过检查 init.d 脚本来判断(有一定的误差),例如“sudo /etc/init.d/php-fpm status”

使用什么端口或unix文件套接字取决于配置,但通常只是TCP端口9000。即127.0.0.1:9000

判断其是否正确运行的最佳方法是运行 nginx,并设置一个将 fast-cgi 传递给 PHP-FPM 的虚拟主机,然后使用 wget 或浏览器检查它。