【发布时间】:2011-02-25 20:03:21
【问题描述】:
我想在启动时将 linux 中的环境变量传递给 apache。
导出 MYVAR=5 --我在命令行定义我的环境变量
PassEnv MYVAR --set apache 导入 apache 配置文件中的变量
apachectl 重启 --当我重新启动 apache 时,我没有收到错误消息。不过我注意到了 如果我没有在第一步中创建环境变量,我会收到一条警告消息,所以必须在这里工作
回显 $_SERVER['MYVAR'] --i 尝试访问 PHP 中的环境变量,但它没有定义
我观察到,如果我尝试 PassEnv 一个已经存在的环境变量(我自己没有创建的环境变量),它可以正常工作。 SetEnv 指令也可以正常工作。
我真的很想将环境变量即时传递给 apache,而不将其写入文件。非常感谢帮助。
我正在使用 CentOS、PHP5 和 Apache2。
谢谢。
更新 如果我直接使用 httpd 调用 apache 启动而不使用 shell 脚本 apachectl,则似乎环境变量会被传递。我会认为“导出”会将变量导出到 shell 脚本,不是吗?我不是 linux 大师,所以请原谅我缺乏知识。
【问题讨论】: