0

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

在学习的过程中,我遇到了Global Variables - Superglobals的概念。

这是我学习全局变量的页面 - Superglobals

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

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

  1. $_SERVER['HTTP_ACCEPT_CHARSET']
  2. $_SERVER['HTTPS']
  3. $_SERVER['REMOTE_HOST']
  4. $_SERVER['SCRIPT_URI']

对于上述每个变量,我尝试了以下代码。例如 :

<!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 文档,但我也对此一无所知。

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

谢谢。

4

1 回答 1

4

的内容$_SERVER主要由 Web 服务器创建,如下所述

$_SERVER 是一个包含标题、路径和脚本位置等信息的数组。此数组中的条目由 Web 服务器创建。无法保证每台 Web 服务器都会提供这些服务;服务器可能会省略一些,或提供此处未列出的其他内容。也就是说,在 » CGI/1.1 规范中包含了大量这些变量,因此您应该能够预料到这些变量。

所以PHP在这里几乎没有什么可做的。

于 2017-01-10T09:44:22.993 回答