如果没有加载配置文件,PHP从哪里获取设置?


Where does PHP get its settings if no configuration file is loaded?

我已经在RHEL 4服务器上安装了PHP 5.3.10。

当我运行php -i | grep "Loaded"时,它返回

Loaded Configuration File => (none)

这样设置是可以的。PHP正在按我们需要的方式工作。我只需要知道,如果没有使用PHP。ini, PHP从哪里获得所有设置?谢谢。

更新:我在点击提交后意识到这一点。对不起,我如何将此移动到堆栈溢出?_——

更新2:php --ini的结果:

Configuration File (php.ini) Path: /usr/local/lib Loaded Configuration File: (none) Scan for additional .ini files in: (none) Additional .ini files parsed: (none)

如果没有加载php配置文件,它只采用默认值。请查看文档以获取默认值列表:

http://php.net/manual/en/ini.core.php

这可能取决于您的服务器设置。

这可能是(取决于PHP版本)PHP配置是由Apache配置文件控制的:如何更改配置设置

您可以使用phpinfo()函数来查看PHP配置设置(包括配置文件目录)。创建一个名为info.php的文件(例如在"DocumentRoot"文件夹中),并编辑该文件以包含以下代码:

<? phpinfo(); ?>

如果你的域名是:

http://example.com

你的"DocumentRoot"是:

".../www" or  ".../public_html"

将文件放入该文件夹,然后使用浏览器进入:

http://example.com/info.php

首先,您必须了解PHP命令行使用另一个php.ini。Apache(或NGINX等)模块使用另一个php.ini

你可以尝试使用更可靠的命令:php --ini而不是php -i,以确保它没有加载任何配置。

通常从/etc/php5加载php.ini

如果命令没有显示任何内容,那么您可以尝试手动添加该文件(/etc/php5/cli/php.ini)并检查。

RedHat中可以直接在/etc/目录下