我在/etc/profile
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"] /
答案 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
来获取这个变量。