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

时间:2018-05-28 07:51:20

标签: php fpm

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

phpinfo()不会返回这些值。

4 个答案:

答案 0 :(得分:8)

如果您有权访问服务器,请尝试,具体取决于php版本

sudo php-fpm7.0 -tt
sudo php-fpm7.1 -tt
sudo php-fpm7.2 -tt

它测试当前的配置文件并显示配置参数值(也是默认值)。 如果进行了修改并且尚未重新加载php-fpm,则显示的值可能不同于当前正在运行的配置。

仅在php-fpm 7.2上进行了测试

注意:命令的输出将进入标准错误,这会给使用grepless之类的管道带来不便。要解决这个问题:

php-fpm7.2 -tt 2>&1 | grep access

答案 1 :(得分:6)

据我所知,有两种方法可以检查出来

  1. 使用ps命令找到fpm配置文件并读取
root@c56686e9854c:/# ps aux | grep php-fpm  | grep master

根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]注意:pm =动态

[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

...

答案 2 :(得分:-1)

您可以使用:

parse_ini_file(php_ini_loaded_file())

答案 3 :(得分:-1)

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

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