我正在运行Windows 10家庭单一语言64位操作系统的笔记本电脑上使用PHP 7.3.5。
我已经在笔记本电脑上安装了最新版本的XAMPP安装程序,该安装程序已经安装了Apache / 2.4.39(Win64)和PHP 7.3.5
我执行了以下代码,并在Web浏览器中查看输出:
<?php
echo 'Value using get_cfg_var() : '.get_cfg_var ('cfg_file_path');
echo '<br>';
echo 'Value using ini_get() : '.ini_get('cfg_file_path');
echo '<br>';
echo 'Value using get_cfg_var() : '.get_cfg_var ('display_errors');
echo '<br>';
echo 'Value using ini_get() : '.ini_get('display_errors');
echo '<br>';
echo 'Value using get_cfg_var() : '.get_cfg_var ('post_max_size');
echo '<br>';
echo 'Value using ini_get() : '.ini_get('post_max_size');
?>
以上代码的输出如下:
Value using get_cfg_var() : C:\xampp\php\php.ini
Value using ini_get() :
Value using get_cfg_var() : 1
Value using ini_get() : 1
Value using get_cfg_var() : 8M
Value using ini_get() : 8M
我的问题是,当我将配置设置FALSE
与内置功能cfg_file_path
一起使用时,为什么得到ini_get()
值?
据我所知,内置函数ini_get()
和get_cfg_var()
均用于获取配置选项/配置设置的值。实际上,当我同时尝试使用这两个功能的其他配置设置(即display_errors
和post_max_size
)时,此方法工作正常。
然后为什么配置选项ini_get()
不能与get_cfg_var()
一起使用并且不能与cfg_file_path
一起正常使用?
我还注意到,从进入浏览器的phpinfo()
的输出中,我可以看到设置display_errors
和post_max_size
,但是看不到设置cfg_file_path
。为什么这样?
为什么设置cfg_file_path
没有显示在phpinfo()
的输出中?它在哪里存在?
有人请清除我的所有上述疑问。
谢谢。
get_cfg_var直接从php.ini
返回值,而ini_get返回运行时配置值。