当前位置:  开发笔记 > 编程语言 > 正文

PHP和Apache环境变量

如何解决《PHP和Apache环境变量》经验,为你挑选了1个好方法。

我想在启动时将linux中的环境变量传递给apache.

export MYVAR = 5 - 我在命令行上定义我的环境变量

PassEnv MYVAR - 设置apache以在apache配置文件中导入变量

apachectl restart - 当我重新启动apache时,我没有收到错误消息.但是我注意到如果我在第一步中没有创建环境变量,我会收到一条警告消息,所以必须在这里工作

echo $ _SERVER ['MYVAR'] - 我尝试访问PHP中的环境变量,但没有定义

我观察到,如果我尝试PassEnv一个已经退出的环境变量(我自己没有创建的环境变量),它可以正常工作.SetEnv指令也可以正常工作.

我真的很想动态地将环境变量传递给apache而不将其写入文件中.非常感谢.

我正在使用CentOS,PHP5和Apache2.

谢谢.

更新 似乎环境变量传递,如果我直接用httpd调用apache启动,而不是使用apachectl这是一个shell脚本.我原以为"导出"会将变量导出到shell脚本中吗?我不是linux大师,所以请原谅我缺乏知识.



1> wimvds..:

如果您希望将环境变量传递给apache,则应确保为运行apache的环境定义了所述环境变量.为此,最简单的选择是export MYVAR=value向envvars 添加一行(应位于/ etc/apache2)或启动apache的脚本(在/etc/init.d中),并在您的apache配置中将PassEnv MYVAR添加到所需的位置.

重新启动apache应确保传递MYVAR环境变量.AFAIK你将无法在apache运行时更改此var的值...

CentOS的一些相关信息:http://php.dzone.com/news/inserting-variable-headers-apa&default=false&zid=159&browser=16&mid=0&refresh=0

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有