在linux中定义可以在php中访问的变量

时间:2012-11-03 13:06:38

标签: php linux variables environment

我在/etc/profile

中的整个linux varibale中添加了一个变量
export MYNAME="My Value"

如何通过apache web服务器运行时在php源代码中访问此值? 在$ _SERVER中,该值不存在。

这个键只出现在$ _ENV:

_ENV["APACHE_RUN_DIR"]  /var/run/apache2
_ENV["APACHE_PID_FILE"] /var/run/apache2.pid
_ENV["PATH"]            /usr/local/bin:/usr/bin:/bin
_ENV["APACHE_LOCK_DIR"] /var/lock/apache2
_ENV["LANG"]            C
_ENV["APACHE_RUN_USER"] www-data
_ENV["APACHE_RUN_GROUP"]    www-data
_ENV["APACHE_LOG_DIR"]  /var/log/apache2
_ENV["PWD"]                 /

2 个答案:

答案 0 :(得分:4)

假设变量是在正确的用户下导出的,$_ENV应该包含它们。

请参阅:http://se.php.net/manual/en/reserved.variables.environment.php

答案 1 :(得分:1)

尝试为守护程序进程设置环境变量比听起来更棘手。只有交互式登录bash shell源/etc/profile,这可能与您的Web服务器进程的条件不匹配。有关详细信息,请参阅this page

但是,您可以set environment variables in Apache and PHP

在Apache配置文件中:

SetEnv ENV_VAR var_value

重启,服务器。然后你应该能够在PHP中使用$_ENV来获取这个变量。