在linux中重新初始化系统范围的环境变量

ken*_*ken 5 php linux variables environment

我只是希望我的apache注册我的一些预定义环境,以便我可以使用php中的getenv函数检索它.我怎样才能做到这一点?我尝试使用root并重新启动apache,使用export FOO =/bar/baz添加/etc/profile.d/foo.sh.

Tor*_*rek 6

环境变量由Unix中的进程继承./etc/profile.d中的文件仅在您登录时执行(在当前shell中,而不是在子shell中).只需更改其中的值然后重新启动进程将不会更新环境.

可能的修复:

  • 注销/登录,然后启动Apache
  • 获取文件:# . /etc/profile.d/foo.sh,然后重启apache
  • 在apache init脚本中获取文件

您还需要确保/etc/profile.d/在Apache启动init时而不是您自己来源.

最佳修复程序可能还取决于您使用的分发,因为它们使用不同的配置方案.