在Vagrant上运行Ubuntu的环境变量设置在哪里?

时间:2015-09-30 05:10:33

标签: php heroku vagrant environment-variables vagrantfile

我在Heroku上运行PHP应用程序,使用heroku:config命令检索环境变量没有问题,但我需要在本地使用单独的变量。

我正在流入Ubuntu,但是对于我的生活来说无法弄清楚实际设置变量的位置。我已尝试使用~/.bashrc,并将变量放在配置脚本中,但我无法在PHP中获取$_ENV(或getenv())函数来实际检索变量。当我调用这些函数时,我被告知变量未在环境中设置。

如何在PHP Heroku应用程序的本地环境中设置环境变量?

1 个答案:

答案 0 :(得分:0)

我猜它应该来自~/.bashrc文件,但它可能取决于你使用哪个bash。

您可以将env变量放入.profile,例如:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home

您需要为运行apache的用户执行此操作(如果使用apache或nginx或任何其他Web服务器) 确保为运行apache的用户添加这些变量(如果是apache或nginx或您使用的任何其他Web服务器),而不是您的流浪用户。

与Heroku的区别在于你的heroku用户将拥有你的所有进程,包括web服务器,因此可以访问你定义的变量,使用标准的ubuntu本地(或vm-ized),web服务器将由root拥有或者网络用户。

如果您不确定是否也可以将变量放在/etc/environment中,并将此文件从/etc/apache2/envvars引用为:

# Load all the system environment variables.
. /etc/environment