我有一个Debian 12服务器,运行Apache 2(虚拟主机)+ PHP 8.2。
我正在努力让PHP读取环境变量,并使用以下代码进行测试:
<?php
$scriptUrl = $_ENV['SCRIPT_NAME'];
echo "$scriptUrl";
?>
字符串
奇怪的是,页面上什么也没有。
我已经用其他几个环境变量尝试过了,比如SCRIPT_URL
。我也试过使用getenv('SCRIPT_URL')
函数,但没有用。
我运行了var_dump($_SERVER);
,它返回了大量的变量,包括正确的SCRIPT_NAME
,但是我尝试的PHP似乎无法访问任何变量。
我想这与我的Apache /虚拟主机/ PHP配置有关。
1条答案
按热度按时间l2osamch1#
1.为什么你期望
SCRIPT_NAME
被设置为环境变量?你通常会发现在$_SERVER
超全局中而不是在$_ENV
中。$scriptUrl = $_SERVER['SCRIPT_NAME'];
应该给予你期望的结果。1.并非所有的环境变量都必须填充到超全局变量中。与
var_dump(getenv());
相比,var_dump($_ENV)
可能会显示不同的结果(或没有结果)。有关详细信息,请参阅变量顺序。1.要查看可用的内容,请尝试:
字符串