使用PHP脚本获取Heroku环境变量

时间:2019-07-06 16:33:44

标签: php heroku

运行PHP脚本时,无法访问Heroku环境变量。在下面的图片上,您可以看到我有变量TEST_VAR

create heroku env var

下面的代码片段应输出此变量,但我什么也没得到:

$url = getenv('TEST_VAR');
echo $url;

我尝试了此操作并收到“错误!”,因此getenv('TEST_VAR')false

if (getenv('TEST_VAR')) {
    $url = getenv('TEST_VAR');
    echo $url;
} else {
    die('Error!');
}

在此图片中,您可以看到两个代码片段的输出(空字符串和错误!)。

output

1 个答案:

答案 0 :(得分:0)

看起来您正在本地命令行上运行该代码。 heroku config:set为Heroku上的应用设置environment variables 。它对您的本地环境没有任何作用。

要在本地使用环境变量,必须以其他方式设置它们。您可以使用操作系统提供的任何工具手动完成此操作,但是Heroku CLI还提供了a heroku local command,方便地reads environment variables from a file called .env and populates them for you

只需创建一个包含变量的.env文件,例如

TEST_VAR=hello_world

,然后通过heroku local运行代码。默认情况下,它将按照web中的定义运行您的Procfile进程。如果您已经使用heroku config:set设置了变量,则可以copy them to your .env file

heroku config:get TEST_VAR >> .env

请注意,the .env file should not be committed to your repository。它仅供本地使用。在Heroku上,您应该继续使用heroku config:set设置配置变量。