是否必须配置 PHP 才能通过 PHP 在每个目录的基础上扫描配置 INI 文件(即我的 .htaccess 文件)?

Is it mandatory to configure PHP in order to scan configuration INI files on a per-directory basis(i.e. .htaccess files in my case) by PHP?

我在我的机器上使用 Windows 10 家庭单一语言 64 位操作系统

我已经在我的机器上安装了 XAMPP server 的最新副本,它随 PHP 7.2.7

我阅读了 PHP 手册中的以下页面:

  1. Scan directories
  2. .user.ini files

看完这两页的文字后,我想到了一个疑问:

要在每个目录的基础上扫描配置 INI 文件在我的例子中是 '.htaccess 文件')通过 PHP 是否必须使用 --with-config-file-scan-dir 选项在 CLI 上 运行 PHP,然后通过设置在 运行 时覆盖PHP_INI_SCAN_DIR 环境变量?

或者在每个目录的基础上进行这样的配置 INI 文件在我的例子中是'.htaccess 文件')得到扫描PHP 自动?

如果是,那么请解释一下在一个环境(即CLI)中所做的设置如何在完全不同的环境(即SAPI)?

如果不是,请用一些合适的例子来消除我的困惑。

PHP_INI_SCAN_DIR 环境变量与每个目录设置无关,它做的事情完全不同。大多数 Linux 发行版构建软件包的方式都是将设置保存在不同的文件中,因此安装和卸载单个软件包更加容易。所以这个变量只是将主配置文件拆分为目录中数量不确定的单独文件的技巧:

/etc/php.d/

how the setting made in one environment(i.e. CLI) has effect in an entirely different environment(i.e. SAPI)?

没有。 Apache 模块不会读取 FastCGI 设置,就像 Apache 不会读取 IIS 设置一样。