php - 2 个 php.ini 文件

标签 php configuration-files php-5.3

我发现:

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

php -i | grep php.ini

我得到了输出:

The Loaded Configuration file is @ /etc/php5/cli/php.ini

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

The loaded ini file is @ /etc/php5/apache2/php.ini

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

最佳答案

取决于您从何处运行 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,它们位于同一文件夹中。

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

关于php - 2 个 php.ini 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3871768/

相关文章:

php - 使用 Bootstrap 网格系统在 Wordpress 中将帖子内容分成两列

java - Spring 从 JBoss 上下文加载 PropertySourcesPlaceholderConfigurer

docker - 在 Kubernetes Pod 上,ConfigMap 目录位置是什么?

php - 参数$ tv_sec或$ tv_usec作为参数有什么作用?

php - 在动态类名的开头添加反斜杠

javascript - 如何使用ajax从div id中提取数据?

php - 排除年龄为 15< 并且数据库中没有年龄的玩家

javascript - 如何保存cookies

java - Spring Boot从命令行读取属性文件无法解析占位符 'ConfigPath'

php - PHP (5.3) 的特殊行为、静态继承和引用