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

swe*_*web 5 php linux variables environment

我在整个linux varibale中添加一个变量 /etc/profile

export MYNAME="My Value"
Run Code Online (Sandbox Code Playgroud)

如何通过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"]                 /
Run Code Online (Sandbox Code Playgroud)

Geo*_*tee 1

尝试为守护进程设置环境变量比听起来更棘手。仅交互式登录 bash shells source /etc/profile,这可能与您的 Web 服务器进程的标准不匹配。请参阅此页面了解更多信息。

但是,您可以在 Apache 和 PHP 中设置环境变量

在 Apache 配置文件中:

SetEnv ENV_VAR var_value
Run Code Online (Sandbox Code Playgroud)

重启一下,服务器。然后您应该能够$_ENV在 PHP 中使用该变量。