PHP中$ _SERVER超级全局的来源是什么?

时间:2017-08-24 10:15:19

标签: php linux global-variables

在命令行上运行脚本:

php testfile.php

该文件包含以下内容:

echo print_r($_SERVER, true);

我注意到终端输出中有JAVA_HOME和PATH变量。我已经尝试将我自己的变量添加到/ etc / environment(Linux),假设它使用了这些变量,但它们不会出现。

那么这些变量在哪里定义,我可以自己添加吗?

2 个答案:

答案 0 :(得分:0)

根据$_SERVER超全球的PHP Documentation

  

此阵列中的条目由Web服务器创建。无法保证每个Web服务器都能提供这些服务;服务器可以省略一些,或提供此处未列出的其他服务器。也就是说,在CGI/1.1 specification

中考虑了大量这些变量

因此,实施取决于您的Web服务器软件。对于Apache,一些索引(如REMOTE_HOST)来自配置文件httpd.conf

答案 1 :(得分:0)

从PHP文档(我推荐):

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

请点击此处查看更详细的说明:http://php.net/manual/en/reserved.variables.server.php

您可以使用apache配置中的环境变量 例如SetEnv ENVIRONMENT "production"

另请查看此问题并回答How to set global environment variables for PHP