为什么配置设置'cfg_file_path'通过函数ini_get()返回FALSE值,而通过函数get_cfg_var()返回正确的值?

问题描述 投票:0回答:1

我正在运行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_errorspost_max_size)时,此方法工作正常。

然后为什么配置选项ini_get()不能与get_cfg_var()一起使用并且不能与cfg_file_path一起正常使用?

我还注意到,从进入浏览器的phpinfo()的输出中,我可以看到设置display_errorspost_max_size,但是看不到设置cfg_file_path。为什么这样?

为什么设置cfg_file_path没有显示在phpinfo()的输出中?它在哪里存在?

有人请清除我的所有上述疑问。

谢谢。

php function configuration directive built-in
1个回答
1
投票

get_cfg_var直接从php.ini返回值,而ini_get返回运行时配置值。

© www.soinside.com 2019 - 2024. All rights reserved.