【问题标题】:2 php.ini files2 个 php.ini 文件
【发布时间】:2011-04-21 18:27:05
【问题描述】:

我发现:

当我在终端上输入以下内容时:

php -i | grep php.ini

我得到了输出:

加载的配置文件是@/etc/php5/cli/php.ini

但是,从phpinfo(),我看到了:

加载的ini文件为@/etc/php5/apache2/php.ini

其中哪一项现在有效?怎么可能有两个php.ini 文件?

【问题讨论】:

  • 服务器上的路径可能与浏览器中显示的路径不同

标签: php configuration-files php-5.3


【解决方案1】:

取决于您从哪里运行 PHP。如果从命令行运行它,它会在通过 apache 运行时使用 cli/php.iniapache2/php.ini

您正在通过浏览器执行phpinfo(),因此您得到/etc/php5/apache2/php.ini 作为答案。从终端运行 php -r "phpinfo();" | grep "Loaded Configuration" 应该会输出 CLI ini。相同的功能,上下文变化。

这个系统的优点显然是允许根据上下文进行不同的配置。举个简单的例子,您可能希望在 apache 中启用 safe_mode,但在 CLI 模式下没有必要。

您的.ini 路径实际上很不寻常。通常,默认的 .ini 只是 php.ini,而 CLI .ini 称为 php-cli.ini,它们位于同一文件夹中。

我不是这方面的专家,但这应该是基本概念。如果有人有任何更正,我很乐意听到。

【讨论】:

  • 是的。你答对了。 CLI 和 Apache 的不同 INI 文件背后的基本思想是,可以在单个系统上运行多个虚拟服务器。谢谢你的回答。
  • @HrishikeshChoudhari “用于 CLI 和 Apache 的不同 INI 文件背后的基本思想是,可以在单个系统上运行多个虚拟服务器。” 100% 不是这样。 php.ini 的 PHP CLI 版本用于命令行 PHP 内容。 Apache 模块 php.ini 用于 Apache PHP 模块。两种截然不同的东西。
猜你喜欢
  • 1970-01-01
  • 2010-11-26
  • 2012-03-15
  • 2021-11-20
  • 2019-03-21
  • 2016-06-20
  • 2014-08-07
  • 1970-01-01
相关资源
最近更新 更多