我在 Debian 8 笔记本电脑上运行 apache。我没有进行任何配置更改,因此一切都保持默认状态。
apache2.conf 使用 /etc/apache2/envvars 中定义的环境变量,但是当我在笔记本电脑上打开 shell 并运行 printenv 时,我没有看到 envvars 中定义的任何变量。
它们是否在不同的环境中运行?为什么我看不到它们?
这Apache 文档关于 apache 环境变量,没有提及环境变量,所以我假设那里定义的变量是操作系统环境变量,而不是 apache 特定的机制。
答案1
他们是在不同的环境中运行吗?
是的。
环境变量不是适用于机器上运行的任何进程的全局常量。包含一些环境文件的文件不会自动加载;假设 apache 使用该文件,这些环境变量仅与 apache 使用时相关,即 http 上下文。
如果你想将它们加载到 shell 中你需要自己加载它们, IE:
$ source /etc/apache2/envvars
$ env # show everything