Php getenv()返回“的值”;VAR";,但是getenv(“VAR”)返回false
我在Apache配置文件中定义了一些环境变量:Php getenv()返回“的值”;VAR";,但是getenv(“VAR”)返回false,php,apache,Php,Apache,我在Apache配置文件中定义了一些环境变量: <VirtualHost *:80> DocumentRoot /var/www/public SetEnv API_TOKEN xyz SetEnv DSN "pgsql:host=x.x.x.x;port=5432;dbname=db;user=user;password=pass" <Directory "/var/www/public">
<VirtualHost *:80>
DocumentRoot /var/www/public
SetEnv API_TOKEN xyz
SetEnv DSN "pgsql:host=x.x.x.x;port=5432;dbname=db;user=user;password=pass"
<Directory "/var/www/public">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
输出:
数组(39){
...
[“DSN”]=>
字符串(94)“pgsql:host=x.x.x.x;port=5432;dbname=db;user=user;password=pass”
[“API_令牌”]=>
字符串(3)“xyz”
...
}
令牌:xyz
DSN:错误
有什么可以解释DSN env变量在由
getenv()
返回的数组中没有参数,但不是由getenv(“DSN”)
返回的?不确定,但尝试var_dump(数组_键(getenv())代码>Hi@Abracadver,它输出。。。使用getenv()获得的数组的键。毫无疑问,“DSN”在这里。我应该搜索什么?长度是3吗?@Abracadver:是的<代码>[31]=>字符串(3)“DSN”
尝试下一个构造var_dump(getenv()[“DSN”)代码>