Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在哪里为运行在Vagrant上的Ubuntu设置环境变量?_Php_Heroku_Vagrant_Environment Variables_Vagrantfile - Fatal编程技术网

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

Php 在哪里为运行在Vagrant上的Ubuntu设置环境变量?,php,heroku,vagrant,environment-variables,vagrantfile,Php,Heroku,Vagrant,Environment Variables,Vagrantfile,我正在Heroku上运行一个PHP应用程序,使用Heroku:config命令检索环境变量没有问题,但我需要在本地有单独的变量 我在Ubuntu上游手好闲,但我一生都不知道在哪里设置变量。我尝试过使用~/.bashrc,并将变量放入配置脚本中,但我无法在PHP中使用$\u ENV(或getenv())函数来实际检索变量。当我调用这些函数时,我被告知环境中没有设置变量 如何在PHP Heroku应用程序的本地环境中设置环境变量 我想它应该在~/.bashrc文件中工作,但它可能取决于您使用的bas

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

我在Ubuntu上游手好闲,但我一生都不知道在哪里设置变量。我尝试过使用
~/.bashrc
,并将变量放入配置脚本中,但我无法在PHP中使用
$\u ENV
(或
getenv()
)函数来实际检索变量。当我调用这些函数时,我被告知环境中没有设置变量


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

我想它应该在
~/.bashrc
文件中工作,但它可能取决于您使用的bash

您可以将环境变量放入
.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本地(或虚拟机化)访问,web服务器将由root用户或web用户拥有

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

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

我想它应该在
~/.bashrc
文件中工作,但它可能取决于您使用的bash

您可以将环境变量放入
.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本地(或虚拟机化)访问,web服务器将由root用户或web用户拥有

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

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

正如我前面提到的,我已经尝试使用
.bashrc
作为环境变量,但是PHP
getenv()
函数无法从中检索变量。@JakeByman猜想您为本地用户(或流浪用户)修改了
.bashrc
,必须为拥有apache进程的用户这样做,正如我前面提到的,我已经尝试使用
.bashrc
作为环境变量,但是PHP
getenv()
函数无法从中检索变量。@JakeByman猜想您为本地用户(或流浪用户)修改了
.bashrc
,这必须为拥有apache进程的用户完成