首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中,getenv('X')返回没有出现在getenv()中的值

在PHP中,getenv('X')返回没有出现在getenv()中的值
EN

Stack Overflow用户
提问于 2020-10-25 07:33:46
回答 1查看 65关注 0票数 1

在共享服务器上运行PHP 7.2.34。我无法控制服务器、Apache或PHP。

我在.htaccess中设置一个环境变量,如下所示:

代码语言:javascript
复制
SetEnv HOME /home/rochkind

getenv("HOME")返回正确的字符串。但是HOME不会出现在getenv()数组中,也不会出现在phpinfo()的Environment部分中。

我有一个理论,即getenv("HOME")和getenv()实际上并没有访问相同的数据。也许前者是在访问Apache的环境概念,而getenv()和phpinfo()则直接进入底层操作系统。

你的主意?

EN

回答 1

Stack Overflow用户

发布于 2020-10-25 17:38:39

PHP中的环境支持并不总是显而易见的,因为它随操作系统和SAPI的不同而变化很大。在您的情况下,您可能希望尝试$_SERVER。不幸的是,它合并了来自多个来源的值,因此您将看到您的环境变量以及一些web服务器变量和HTTP请求头:

代码语言:javascript
复制
var_dump($_SERVER);
代码语言:javascript
复制
array(38) {
  ["HOME"]=>
  string(14) "/home/rochkind"
  ["HTTP_HOST"]=>
  string(3) "example.com"
  ["HTTP_USER_AGENT"]=>
  string(78) "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0"
  ["HTTP_ACCEPT"]=>
  string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
[...]
  ["windir"]=>
  string(10) "C:\WINDOWS"
  ["AP_PARENT_PID"]=>
  string(4) "4012"
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64518991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档