我正在从 w3schools'中学习 PHP PHP 教程。我正在使用 PHP 7.0.13
在学习的过程中,我遇到了全局变量 - Superglobals 的概念。
This is the page from where I'm learning Global Variables - Superglobals
注意:请转到上面的链接查看服务器变量列表。
在此页面上,我尝试了所有服务器变量,但我收到通知作为未定义索引,用于以下几个服务器变量:
$_SERVER['HTTP_ACCEPT_CHARSET']
$_SERVER['HTTPS']
$_SERVER['REMOTE_HOST']
$_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文档,但我也无法对此有所了解。
所以,请有人请澄清我的疑惑。
感谢。
答案 0 :(得分:4)
$_SERVER
的内容主要由网络服务器创建,如documented here:
$ _ SERVER是一个包含标题,路径等信息的数组, 和脚本位置。 此阵列中的条目由网络创建 服务器。无法保证每个Web服务器都能提供任何服务 这些;服务器可以省略一些,或提供此处未列出的其他服务器。 也就是说,大量的这些变量都在计算中 »CGI / 1.1规范,因此您应该能够期待这些。
所以PHP在这里做的很少。