PHP手册是否误导了';phpinfo()';作用

PHP手册是否误导了';phpinfo()';作用,php,php-internals,Php,Php Internals,我使用的是Windows 10 Home Single Language Edition,它是我机器上的64位操作系统 我已经安装了最新版本的XAMPP,它已经在我的机器上安装了php7.2.6 我从中的段落中看到了下面的句子 调用phpinfo()函数,您将看到许多有用的 有关系统和设置的信息,如可用的 变量、加载的PHP模块和配置设置 我尝试执行以下脚本,并在web浏览器中看到输出: <?php phpinfo(); ?> 我仔细检查了整个输出。在phpinfo()的输出中

我使用的是Windows 10 Home Single Language Edition,它是我机器上的64位操作系统

我已经安装了最新版本的XAMPP,它已经在我的机器上安装了php7.2.6

我从中的段落中看到了下面的句子

调用phpinfo()函数,您将看到许多有用的 有关系统和设置的信息,如可用的 变量、加载的PHP模块和配置设置

我尝试执行以下脚本,并在web浏览器中看到输出:

<?php phpinfo(); ?>

我仔细检查了整个输出。在
phpinfo()
的输出中,我只能看到
$\u服务器
预定义变量以及特定于我机器上设置的可能索引

但是PHP viz中的其他预定义变量呢$GLOBALS、$\u GET、$\u POST、$\u文件、$\u COOKIE、$\u会话、$\u请求、$\u ENV、$http\u response\u header、$argc、$argv

根据中的文本所述,所有上述预定义变量及其各自的值都应显示在脚本的输出中,但这并没有发生。为什么会这样

PHP手册中的文本是否误导了PHP用户

还是我对PHP手册中的文本理解有误

请给我详细解释一下

如中所示,它将显示有问题的变量:

    if (flag & PHP_INFO_VARIABLES) {
        zval *data;

        SECTION("PHP Variables");

        php_info_print_table_start();
        php_info_print_table_header(2, "Variable", "Value");
        if ((data = zend_hash_str_find(&EG(symbol_table), "PHP_SELF", sizeof("PHP_SELF")-1)) != NULL && Z_TYPE_P(data) == IS_STRING) {
            php_info_print_table_row(2, "PHP_SELF", Z_STRVAL_P(data));
        }
        if ((data = zend_hash_str_find(&EG(symbol_table), "PHP_AUTH_TYPE", sizeof("PHP_AUTH_TYPE")-1)) != NULL && Z_TYPE_P(data) == IS_STRING) {
            php_info_print_table_row(2, "PHP_AUTH_TYPE", Z_STRVAL_P(data));
        }
        if ((data = zend_hash_str_find(&EG(symbol_table), "PHP_AUTH_USER", sizeof("PHP_AUTH_USER")-1)) != NULL && Z_TYPE_P(data) == IS_STRING) {
            php_info_print_table_row(2, "PHP_AUTH_USER", Z_STRVAL_P(data));
        }
        if ((data = zend_hash_str_find(&EG(symbol_table), "PHP_AUTH_PW", sizeof("PHP_AUTH_PW")-1)) != NULL && Z_TYPE_P(data) == IS_STRING) {
            php_info_print_table_row(2, "PHP_AUTH_PW", Z_STRVAL_P(data));
        }
        php_print_gpcse_array(ZEND_STRL("_REQUEST"));
        php_print_gpcse_array(ZEND_STRL("_GET"));
        php_print_gpcse_array(ZEND_STRL("_POST"));
        php_print_gpcse_array(ZEND_STRL("_FILES"));
        php_print_gpcse_array(ZEND_STRL("_COOKIE"));
        php_print_gpcse_array(ZEND_STRL("_SERVER"));
        php_print_gpcse_array(ZEND_STRL("_ENV"));
        php_info_print_table_end();
}
但是,正如您所看到的,当a)超全局存在(依赖SAPI)和b)它实际包含值时,它使用打印其中的每个键/值对


TL;DR:不,PHP手册在这方面没有误导性。

您是否将
phpinfo()在脚本末尾还是作为新文件?如果是新文件,则显然没有上下文。您是否已使用
phpinfo()
发布到页面?url中有任何变量吗?您将看不到不存在的内容。@Scuzzy:我放在.php文件中的唯一内容是,这些变量中没有显示任何内容,它们不会被填充