在共享服务器上运行PHP 7.2.34。我无法控制服务器、Apache或PHP。
我在.htaccess中设置一个环境变量,如下所示:
SetEnv HOME /home/rochkindgetenv("HOME")返回正确的字符串。但是HOME不会出现在getenv()数组中,也不会出现在phpinfo()的Environment部分中。
我有一个理论,即getenv("HOME")和getenv()实际上并没有访问相同的数据。也许前者是在访问Apache的环境概念,而getenv()和phpinfo()则直接进入底层操作系统。
你的主意?
发布于 2020-10-25 17:38:39
PHP中的环境支持并不总是显而易见的,因为它随操作系统和SAPI的不同而变化很大。在您的情况下,您可能希望尝试$_SERVER。不幸的是,它合并了来自多个来源的值,因此您将看到您的环境变量以及一些web服务器变量和HTTP请求头:
var_dump($_SERVER);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"
}https://stackoverflow.com/questions/64518991
复制相似问题