2015-09-30 35 views
1

我在Heroku上運行一個PHP應用程序,並且我沒有用heroku:config命令檢索環境變量的問題,但我需要在本地有單獨的變量。在哪裏爲在Vagrant上運行的Ubuntu設置環境變量?

我是流浪的ssh進入Ubuntu,但對於我的生活無法弄清楚到底在哪裏設置變量。我試過使用~/.bashrc,並將變量放在配置腳本中,但我無法獲得PHP中的$_ENV(或getenv())函數來實際檢索變量。當我調用這些函數時,我被告知變量沒有在環境中設置。

任何想法如何在PHP Heroku應用程序的本地環境中設置環境變量?

回答

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-化的),Web服務器將屬於root或網絡用戶。

如果你不知道,你也可以將這些變量裏面/etc/environment/etc/apache2/envvars引用此文件:

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

正如我上面提到的,我已經使用'.bashrc'的環境變量嘗試,但PHP'getenv()'函數不能從中檢索變量。 –

+0

@JakeByman猜你修改了本地用戶(或流浪用戶)的'.bashrc',它必須爲擁有apache進程的用戶完成 –

相關問題