Laravel=での環境の動作について私が理解しているのは、さまざまな適切な環境に対してさまざまな環境があるということです。したがって、アプリをローカルで実行している場合、.env.local
ファイル。テスト中または本番環境の場合は、.env.testing
または.env.production
。 (間違っている場合は修正してください。)
デフォルトでは.env
編集可能なファイル。しかし、Laravelで環境を変更するワークフローは何か教えてください。ドキュメントを試しましたが、取得できませんでした。私を助けてください。
Laravel 5.1をインストールすると、ローカルで作業したい場合は.env
と.env.example
の2つのファイルを取得します。
APP_ENV=local
APP_DEBUG=true
あなたが設定した製品で
APP_ENV=production
APP_DEBUG=false
デバッグモードのエラーメッセージ
プロダクションモードからのエラーメッセージ
注:2つの.envファイル.env
と.env.example
があります。.env.production
という名前の別のファイルを作成することもできますが、構成をロードするには、ファイルの名前を.env
に変更します
EDIT:ローカルで作業していて、テスト用に別のデータベースが必要な場合は、別のファイルを作成して、合計で3つの.envファイルを作成できます。
.env.production
.env.local1
.env.local2
構成を切り替えたいときはいつでも、目的のファイルの名前を.envに変更してください
.env.local.php
、.env.production.php
は、Laravel 5.から廃止されました。5。現在、L5では、単一の.env
ファイル。すべての環境設定を保存します。環境を定義するには、APP_ENV=local
をこのファイルに追加します。
プロジェクトを本番環境にデプロイしたら、.env
サーバー上のファイルと定義APP_ENV=production
Laravel Forgeのようなサービスを使用すると、環境データを格納するための素晴らしいシンプルな方法が提供されます。しかし、それはまた別の話です。)
複数のdb接続を利用するには、次のようにします。
あなたのconfig/database.php
ファイル
<?php
return array(
'default' => env('DEFAULT_DB_CONNECTION', 'mysql'),
'connections' => array(
# Our primary database connection
'mysql' => array(
'driver' => 'mysql',
'Host' => 'Host1',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Our secondary database connection
'another_mysql' => array(
'driver' => 'mysql',
'Host' => 'Host2',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
そして、.env
ファイルに別のキーを配置
DEFAULT_DB_CONNECTION=another_mysql
もちろん、この種の接続は事前に定義されています。動的になりたい場合は、次のことができます
$users = DB::connection('another_db_connection')->select('users somehow');
そうすれば、環境で何が設定されていても、セカンダリmysql接続から結果を取得できます。