1

それらはすべて同じように構成されています。

環境は間違いなく本番環境に設定されています。

データベース資格情報はまったく読み取られません - デフォルトとして ''@localhost password: NO を使用したいと考えています。

私が設定した

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => getenv('DB_HOST'),
    'database'  => getenv('DB_NAME'),
    'username'  => getenv('DB_USERNAME'),
    'password'  => getenv('DB_PASSWORD'),
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),

app/config/database.php の 4 つのサイトすべてで、関連する環境変数を forge に設定します。環境フィールドを空白のままにして、「本番」と入力しようとしました。また、database.php で $_ENV['environmentvariable'] を使用してみました。

これにより、Undefined Index DB_HOST の別のエラーが発生します。明らかに環境変数が読み取られていません。

私はすべてを削除し、レポとlaravelサーバーを何度も再作成しました。他の 3 つのサイトはすべて同じように構成されています。ブートストラップ/開始で環境を検出します

$env = $app->detectEnvironment(function()
{
    return getenv('ENV') ?: 'development';
});

助けていただければ幸いです。ホームステッドで問題なく動作します。

編集: 私はフォージに ssh して、任意のサイトまたはデータベースでやりたいことを何でも行うことができます。 --env="production" で実行してください。

4

1 に答える 1

2

ルートで .env ファイルを使用してさまざまな環境変数を指定しているかどうかは完全にはわかりませんが、これを自分で行った後、環境が「ローカル」の場合は「.env.local.php」と読み取られることに気付きました。 「プロダクション」、「.env.php」が必要です。

それは docsにありますが、私はほとんど毎回忘れています。これを入力すると役立つことを願っています。:)

于 2014-11-11T21:42:41.523 に答える