1

わかりました、 Laravel Docsからマルチ環境を取得します。

これが私のセットアップです:

  • ローカル環境
  • ステージング サーバー環境
  • 本番サーバー

ローカル環境のホスト名は明らかに本番サーバーとは異なりますが、ステージング サーバーは本番サーバーのサブドメインです (そうdev.myapp.comvs myapp.com)。myapp.devまた、ローカルで仮想ホスト名として使用しています。

環境を切り替えるために次のように設定しました。

$env = $app->detectEnvironment(function(){

if(strpos($_SERVER['HTTP_HOST'],'.dev') !== false) || strpos($_SERVER['HTTP_HOST'],'dev.') !== false) {
    return 'local';
}
return 'production';

});

これはほとんど機能します。問題は、ステージング環境でライブ データを表示または操作しないように、開発/ステージング環境用に別のデータベースをセットアップしていることです。これはターミナルで落ちます。実行するとphp artisan env(設定されていないという警告メッセージが表示された後$_SERVER['HTTP_HOST'])、本番として表示されます。

つまり、ターミナルを介して正しいデータベースで移行が実行されません。

これを参照するより良い方法は何ですか?

4

2 に答える 2