在 centos 7 中将环境变量传递给 httpd

在 centos 7 中将环境变量传递给 httpd

在我之前的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为了确保在守护进程启动之前声明变量,出于某种原因,该指令执行开始前没有用

相关内容