我有一台安装了 vanilla apache 的 Ubuntu 12.04 LTS 服务器。在我的 Apache 配置中,我用来PassEnv
传递环境变量:
PassEnv MY_VARIABLE
MY_VARIABLE
定义在/etc/environment
:
MY_VARIABLE=true
如果我停止并启动 apache,变量就会被拾取,一切正常。但是,重新启动后,apache 不会拾取MY_VARIABLE
。
Apache 是否在/etc/environment
设置变量之前启动?还有其他方法可以完成我想做的事情吗?
答案1
这很奇怪!您可以通过在 /etc/init/d/httpd 中获取 /etc/environment 来尝试作弊(不建议在所有场合都这样做)
1)一个直接的解决方案是使用自定义脚本来用您自己的配置启动您的 apache,您可以在脚本中完成所有的管理工作,请使用 -f 来指定您的自定义 httpd.conf 文件。
2)替代方案:使用 setEnv 从 httpd.conf 本身设置所需的环境变量。
3)另一种选择,尝试从.bashrc 导出所需的变量。