Laravel 4.2 に phpdotenv を導入

Laravel

Laravel 4.2 に vlucas/phpdotenv を導入した時のメモです。

このパッケージを導入すると、任意のパスにおいた .env ファイルから環境変数を読み込ませることができます。

環境

Laravel v4.2

インストール

composer.json に以下を追記します。

...
"require": {
  ...
  "vlucas/phpdotenv": "1.1",
  ...
},
...

composer を update して、このパッケージをインストールします。

$ composer update

Laravelの設定

ここでは例として、環境名を環境変数から読み込ませます。

.env ファイルを追加

Laravelのルートディレクトリ直下に .envファイルを生成します。

以下のように、LARAVEL_ENVという環境変数に環境名をセットしておきます。(APP_ENVという名前を使う人も多いようです)

LARAVEL_ENV=dev

bootstrap/start.php で .env を読み込む

bootstrap/start.php$app->detectEnvironment() のところを、以下のように変更します。

/*
 * 必ず環境変数を利用する。
 * 但し、.env以外で環境変数が設定されていれば、そちらを優先する。
 */
$env = $app->detectEnvironment(function() {
    if (($env = getenv('LARAVEL_ENV')) === false) {
        Dotenv::load(__DIR__ . '/../');
        $env = getenv('LARAVEL_ENV');
    }
    return $env;
});


以上です。

最終更新日: 2014-12-16

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*