首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在heroku上设置生产环境变量?

如何在heroku上设置生产环境变量?
EN

Stack Overflow用户
提问于 2016-04-16 10:55:38
回答 2查看 2.8K关注 0票数 1

我想在heroku上使用MySQL运行一个应用程序。为此,我已经安装和配置了cleardb。我要做的就是配置环境变量。但是,我找不到合适的方法来做这个。

在这个文章中,Matt解释了如何配置上述变量:

代码语言:javascript
复制
// config/database.php

$url = parse_url(getenv("CLEARDB_DATABASE_URL"));

$host = $url["host"];
$username = $url["user"];
$password = $url["pass"];
$database = substr($url["path"], 1);

// . . .

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => $host,
    'database'  => $database,
    'username'  => $username,
    'password'  => $password,
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),

他还说:

如果您实际上是在一个真正的站点上工作,您应该确保您只是在为您的生产环境专门编辑数据库凭据。

那么,环境变量在生产中应该如何配置,以便在heroku上使用MySQL运行cleardb

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-21 22:46:15

如果标记为Laravel5.2,则需要在.env文件中设置环境变量。此文件不包含在版本控制中,因为每个安装都应该有不同的版本。默认情况下提供.env.example

例如,如果您的URL是:

代码语言:javascript
复制
CLEARDB_DATABASE_URL => mysql://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true

然后,在您的.env文件中可以放置:

代码语言:javascript
复制
DB_CONNECTION=mysql
DB_HOST=us-cdbr-east.cleardb.com
DB_PORT=3306
DB_DATABASE=heroku_db
DB_USERNAME=adffdadf2341
DB_PASSWORD=adf4234

config/database.php不动。

另一种解决方案是在.env文件中定义上面的URL并按建议动态解析它。注意,这些变量是使用env("CLEARDB_DATABASE_URL")访问的。

编辑

由于CLEARDB_DATABASE_URL是自动设置的,所以最好使用它。

代码语言:javascript
复制
// config/database.php

if ($url = env('CLEARDB_DATABASE_URL', false)) {
    $parts = parse_url($url);
    $host = $parts["host"];
    $username = $parts["user"];
    $password = $parts["pass"];
    $database = substr($parts["path"], 1);
} else {
    $host = env('DB_HOST', 'localhost');
    $username = env('DB_USERNAME', 'forge');
    $password = env('DB_PASSWORD', '');
    $database = env('DB_DATABASE', 'forge');
}

// ...
        'mysql' => [
            'driver' => 'mysql',
            'host' => $host,
            'database' => $database,
            'username' => $username,
            'password' => $password,
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
        ],
票数 6
EN

Stack Overflow用户

发布于 2016-04-18 20:30:35

在Heroku上设置环境变量非常简单。您可以使用Heroku,如下所示: heroku :set CLEARDB_DATABASE_URL="Your“

您还可以通过Heroku仪表板轻松地配置环境变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36663208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档