2个php.ini文件
我发现: 当我在终端上键入以下内容时:2个php.ini文件,php,configuration-files,php-5.3,Php,Configuration Files,Php 5.3,我发现: 当我在终端上键入以下内容时: php -i | grep php.ini 我得到输出: 加载的配置文件是@/etc/php5/cli/php.ini 然而,从phpinfo(),我看到: 加载的ini文件是@/etc/php5/apache2/php.ini 哪一个正在工作?如何可能有两个php.ini文件?取决于运行php的位置。如果您从命令行运行它,它在通过apache运行时使用cli/php.ini和apache2/php.ini 您正在通过浏览器执行phpinfo(),因此得
php -i | grep php.ini
我得到输出:
加载的配置文件是@/etc/php5/cli/php.ini
然而,从phpinfo()
,我看到:
加载的ini文件是@/etc/php5/apache2/php.ini
哪一个正在工作?如何可能有两个
php.ini
文件?取决于运行php的位置。如果您从命令行运行它,它在通过apache运行时使用cli/php.ini
和apache2/php.ini
您正在通过浏览器执行phpinfo()
,因此得到的答案是/etc/php5/apache2/php.ini
。从终端运行php-r“phpinfo();”| grep“加载的配置”
,应该会输出CLI ini。同样的功能,上下文改变
该系统的优点显然是允许根据上下文进行不同的配置。作为一个简化的示例,您可能希望在apache中启用safe_模式
,但在CLI模式下没有必要这样做
您的.ini
路径实际上非常不寻常。通常,默认的.ini只是php.ini
,CLI.ini被称为php CLI.ini
,它们位于同一个文件夹中
我不是这方面的专家,但这应该是基本的想法。如果有人有任何更正,我很乐意听到。服务器上的路径可能与browserYup中显示的路径不同。你说得对。CLI和Apache的不同INI文件背后的基本思想是,一个系统上可以运行多个虚拟服务器。感谢您的回答。@HrishikeshChoudhari“CLI和Apache的不同INI文件背后的基本思想是一个系统上可以运行多个虚拟服务器。”100%不是这样。PHP.ini的PHPCLI版本是用于命令行PHP的。Apache模块
php.ini
用于Apache php模块。两件截然不同的事情。