2017-08-24 72 views
2

在命令行中运行脚本:

php testfile.php 

该文件包含以下内容:

echo print_r($_SERVER, true); 

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

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

回答

0

从PHP文档(我建议):

$ _SERVER是含有如页眉,路径和脚本的位置信息的数组。该数组中的条目由Web服务器创建。不能保证每个Web服务器都能提供这些内容;服务器可能会省略一些,或者提供这里没有列出的其他人。也就是说,大量的这些变量在»CGI/1.1规范中有说明,所以您应该能够期待这些。

在这里看到更详细的解释:http://php.net/manual/en/reserved.variables.server.php

可以使用 SetEnv ENVIRONMENT "production"例如设置在你的Apache配置环境变量。

也看看这个问题和答案How to set global environment variables for PHP

0

根据PHP Documentation$_SERVER超全局:

此数组中的条目由web服务器创建的。不能保证每个Web服务器都能提供这些内容;服务器可能会省略一些,或者提供这里没有列出的其他人。也就是说,大量的这些变量在»CGI/1.1 specification

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

相关问题