如何确定php-fpm的当前配置?

Chr*_*ski 18 php fpm

我想确定当前配置为'已加载'.这些将是此处列出的所有值:http://php.net/manual/en/install.fpm.configuration.php

这些值不会返回phpinfo().

Axi*_*Axi 19

If you have access to server, try, depending on php version

sudo php-fpm7.0 -tt
sudo php-fpm7.1 -tt
sudo php-fpm7.2 -tt
Run Code Online (Sandbox Code Playgroud)

It test the current config file and show config params values (also default ones). The displayed values can differs from current running config if a modification happened and php-fpm hasn't been reloaded.

Only tested out on php-fpm 7.2

Note: Output from the command goes to standard error and that makes piping to something like grep or less inconvenient. To account for this:

php-fpm7.2 -tt 2>&1 | grep access
Run Code Online (Sandbox Code Playgroud)


Ran*_*Lin 10

据我所知,有两种方法可以查看

  1. 使用 ps 命令定位 fpm 配置文件并读取它
root@c56686e9854c:/# ps aux | grep php-fpm | 大师

根 1 0.0 0.9 455112 37324 ? Ss 12:01 0:00 php-fpm:主进程(/usr/local/etc/php-fpm.conf

  1. 使用 php-fpm 自带的命令
root@c56686e9854c:/# php-fpm -tt

[2020 年 3 月 29 日 12:31:23] 通知:[www]

...

[2020 年 3 月 29 日 12:31:23] 注意:下午 = 动态

[2020 年 3 月 29 日 12:31:23] 注意:pm.max_children = 5

[2020 年 3 月 29 日 12:31:23] 注意:pm.start_servers = 2

[2020 年 3 月 29 日 12:31:23] 注意:pm.min_spare_servers = 1

[2020 年 3 月 29 日 12:31:23] 注意:pm.max_spare_servers = 3

...


vti*_*tim 8

Axi 的解决方案并不完整,因为 -tt 标志仅显示文件系统上存在的当前配置文件的值,而不是当前加载到内存中的值。这些值不一定相同。例如,如果对文件进行了编辑,但 fpm 未重新加载。

我发现的最佳解决方案是在 Apache 或 Nginx 中启用 FPM 状态页面。虽然它没有显示所有变量,但总比没有好。