在我之前的Centos 6.10服务器,我已经能够通过添加一些环境变量来传递给httpd/etc/sysconfig/httpd
. ~/.envvars
.envvars 内容是
export MY_PASSWORD='somepassword'
然后在http配置文件
SetEnv MY_PASSWORD ${MY_PASSWORD}
并轻松访问 php 中的变量 $_SERVER['MY_PASSWORD'] 但升级到Centos 7.7这停止了工作,在日志中我得到:
AH00111: Config variable ${MY_PASSWORD} is not defined
任何帮助是极大的赞赏
答案1
我通过进行两项更改解决了该问题:在执行导出后,在 ~/.envvars 中,我添加了此行以将环境变量传递给 systemd:
systemctl import-environment MY_PASSWORD
然后,我没有调用 .bash_profile 中的声明脚本,而是使用了/etc/rc.d/init.d/functions为了确保在守护进程启动之前声明变量,出于某种原因,该指令执行开始前没有用