谁阅读 'php.ini' 文件,那里可能存在多少 php.ini 文件?每个这样的 'php.ini' 文件的作用是什么?

Who reads the 'php.ini' file and how many php.ini files can possibly be exist there? What's the role of every such 'php.ini' file?

我在笔记本电脑上使用 PHP 7.2.10 Windows 10 Home Single Language 64-bit操作系统.

我已经使用最新版本的 [=] 安装了 Apache/2.4.34 (Win32) 和 PHP 7.2.10 82=].

今天,我从 PHP Manual 中看到以下声明:

The configuration file (php.ini) is read when PHP starts up. For the server module versions of PHP, this happens only once when the web server is started. For the CGI and CLI versions, it happens on every invocation.

以上文字在我脑海中产生了以下疑问:

  1. 第一句话到底是什么意思?只是说

The configuration file (php.ini) is read when PHP starts up.

但这并不是说谁读过它?是 PHP 解析器还是 Apache Web 服务器?或者是其他东西?请给我解释一下。

  1. 如果是 CGI 和 CLI 版本,为什么 php.ini 文件被一遍又一遍地读取,谁在读取?

  2. 对于 CGI 和 CLI 版本,读取 php.ini 文件的过程在每次调用时都会发生?此子句 每次调用 是什么意思?

  3. 那里可能存在多少php.ini个文件?如果存在多个文件,那么每个这样的 php.ini 文件的作用是什么?

P.S。 : 以上所有问题我在一次技术面试中都被问过。

P.S。 : 我知道 php.ini 是本地机器上所有配置设置的主要配置文件。

  1. PHP compiler/parser.
  2. 因为 PHP 不会持续用于命令行调用,所以在 运行 时读取。
  3. 每次调用 PHP 脚本,CGI 或 CLI。
  4. 不止一个,通常是 2 个。一个用于 Web 服务器,一个用于 CLI/CGI。