我发现:
当我在终端上键入以下内容时:
php -i | grep php.ini
我得到输出:
加载的配置文件是@/etc/php5/cli/php.ini
但是,从phpinfo()
,我看到:
加载的ini文件为@/etc/php5/apache2/php.ini
其中哪一个现在正在工作?怎么可能有两个php.ini
文件?
我发现:
当我在终端上键入以下内容时:
php -i | grep php.ini
我得到输出:
加载的配置文件是@/etc/php5/cli/php.ini
但是,从phpinfo()
,我看到:
加载的ini文件为@/etc/php5/apache2/php.ini
其中哪一个现在正在工作?怎么可能有两个php.ini
文件?
取决于您从哪里运行 PHP。如果从命令行运行它,它在通过 apache 运行时使用cli/php.ini
and 。apache2/php.ini
您正在phpinfo()
通过浏览器执行,因此您得到/etc/php5/apache2/php.ini
了答案。php -r "phpinfo();" | grep "Loaded Configuration"
从终端运行应该会输出 CLI ini。相同的功能,上下文变化。
该系统的优点显然是允许根据上下文进行不同的配置。对于一个简化的示例,您可能希望safe_mode
在 apache 中启用,但在 CLI 模式下没有必要。
你的.ini
路径实际上很不寻常。通常,默认的 .ini 是 justphp.ini
并且 CLI .ini 被调用php-cli.ini
并且它们驻留在同一个文件夹中。
我不是这方面的专家,但这应该是基本思想。如果有人有任何更正,我会很高兴听到他们。