是否添加了少量服务器变量,并且在PHP 7中删除了很少的服务器变量?

时间:2017-01-10 09:32:39

标签: php superglobals server-variables

我正在从 w3schools'中学习 PHP PHP 教程。我正在使用 PHP 7.0.13

在学习的过程中,我遇到了全局变量 - Superglobals 的概念。

This is the page from where I'm learning Global Variables - Superglobals

注意:请转到上面的链接查看服务器变量列表。

在此页面上,我尝试了所有服务器变量,但我收到通知作为未定义索引,用于以下几个服务器变量:

  1. $_SERVER['HTTP_ACCEPT_CHARSET']
  2. $_SERVER['HTTPS']
  3. $_SERVER['REMOTE_HOST']
  4. $_SERVER['SCRIPT_URI']
  5. 对于上述每个变量,我都尝试使用代码。例如:

    <!DOCTYPE html>
    <html>
      <body>
        <pre>
        <?php
          echo $_SERVER['PATH_TRANSLATED'];//like this I tried for other three server variables also
        ?>
        </pre>
      </body>
    </html>
    

    除此之外,当我尝试执行代码$_SERVRER

    时,我还发现数组print_r($_SERVER);中没有新的服务器变量。

    所以,我的问题是,PHP5中存在的旧服务器变量中的一些已经在PHP7中删除了,而其他几个新增加了吗?

    我还尝试检查 PHP文档,但我也无法对此有所了解。

    所以,请有人请澄清我的疑惑。

    感谢。

1 个答案:

答案 0 :(得分:4)

$_SERVER的内容主要由网络服务器创建,如documented here

  

$ _ SERVER是一个包含标题,路径等信息的数组,   和脚本位置。 此阵列中的条目由网络创建   服务器。无法保证每个Web服务器都能提供任何服务   这些;服务器可以省略一些,或提供此处未列出的其他服务器。   也就是说,大量的这些变量都在计算中   »CGI / 1.1规范,因此您应该能够期待这些。

所以PHP在这里做的很少。