私はherokuでMySQLを使用してアプリケーションを実行したいです。私はすでにこの目的のためにcleardb
をインストールして設定しました。私がしなければならないことは、環境変数を設定することだけです。しかし、私はこれを行う適切な方法を見つけることができません。このarticleで
herokuでプロダクション環境変数を設定する方法は?
、マットが挙げ変数を設定する方法について説明します。
// 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
を使用してMySQLを実行するには、環境変数をどのように設定する必要がありますか?
答えをありがとう!あなたは次の問題を明確にしていただけますか? 1.データベースのURLが変更されないことは保証されていますか?それ以外の場合、資格情報をハードコーディングしても良い解決策はありません。 2. URLの解析は動的に安全ですか? –
実際には、ハードコーディングではありません。これは、ソースファイルと一緒に移動する必要のない構成ファイルであるためです。データベースのURLが変更された場合(おそらく別のデータベースを作成した場合)、これらをサーバーに適用することができます。考慮する必要がある唯一の問題は、ファイルが各要求で解析される必要があるため、小さなパフォーマンスヒットです。このためのソリューションは、Heroku CLIを介してこれらの同じ変数を定義することです。 – BeS