1

Heroku で MySQL を使用したアプリを実行したいと考えています。cleardbこの目的のために、すでにインストールして構成しています。あとは、環境変数を構成するだけです。ただし、これを行う適切な方法が見つかりません。

この記事では、Matt が前述の変数の構成方法を説明しています。

// 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'    => '',
),

また、彼は次のようにも述べています。

実際のサイトで実際に作業している場合は、本番環境専用のデータベース資格情報を編集していることを確認する必要があります

cleardbでは、 herokuで MySQL を実行するには、本番環境で環境変数をどのように設定すればよいのでしょうか?

4

2 に答える 2

6

Laravel 5.2 としてタグ付けされているため、.envファイルに環境変数を設定する必要があります。インストールごとに異なるバージョンが必要なため、このファイルはバージョン管理には含まれていません。A.env.exampleがデフォルトで提供されます。

例として、URL が次の場合:

CLEARDB_DATABASE_URL => mysql://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true

次に、.envファイルに次を入れることができます:

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手付かずのままにします。

もう 1 つの解決策は、上記の URL を.envファイルに定義し、提案どおりに動的に解析することです。これらの変数には を使用してアクセスすることに注意してくださいenv("CLEARDB_DATABASE_URL")

編集

CLEARDB_DATABASE_URL は自動的に設定されるので、それを利用した方がよいでしょう。

// 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' => '',
        ],
于 2016-04-21T22:46:15.590 に答える
0

Heroku での環境変数の設定は非常に簡単です。次のように Heroku CLI を使用できます。 heroku config:set CLEARDB_DATABASE_URL="Your DB URL"

Heroku ダッシュボードから環境変数を簡単に設定することもできます。

于 2016-04-18T20:30:35.460 に答える