1

Laravel と Apache でサブドメインを使用して開発環境と運用環境をセットアップする必要があります。例えば:

dev.mydomain.com
app.mydomain.com

app が本番環境で、dev が開発環境です。私の /var/www の中には、フォルダー dev.mydomain.com と app.mydomain.com があります。これらの各フォルダー内には、同一の Laravel プロジェクトがあります (異なるサブドメインとデータベースを指す構成ファイルは別として)。

さまざまなデータベースでテストできるように、また、運用環境にプッシュする前に新しい開発ファイルをテストできるように (ダウンタイムがほとんどまたはまったくない)、場所を分けたいと考えました。Apache 構成ファイルでもう一方の構成を一時的に削除することで、一度にいずれかのサブドメインにアクセスできますが、これは面倒であり、両方のアプリケーションでダウンタイムが発生します。

(単純な .html ファイルを使用して) 両方のサブドメインでテスト URL を表示できるため、私の .htaccess ファイルは正しいように見えます。laravel がインストールされているサブドメインにアクセスしようとすると、アプリのサブドメインにいる間に開発データベースに接続できる、またはアプリの環境にログインできるが、開発環境にログインできないなどの奇妙な結果が得られます。逆に。

私は解決策を見つけるためにstackoverflowとグーグルを検索してきましたが、これまでのところ何も見つかりませんでした. 私は主にセットアップ方法に関するチュートリアルを見つけました

detectEnvironment  

ここのリンクのようにlaravelを使用:

http://chrishayes.ca/blog/code/laravel-4-setting-utilizing-environments-environment-configuration

これに対する解決策、または本番環境と並行してLaravelの開発/テスト環境で作業するより良い方法を誰かが持っていますか?

4

1 に答える 1

0

bootstrap/start.phpできることは、使用するドメインに応じて環境を設定することです。

$env = $app->detectEnvironment(function(){
        if (!isset($_SERVER['HTTP_HOST']) ||
            $_SERVER['HTTP_HOST'] =='dev.mydomain.com') {
            return 'dev';
        }
        return 'production';
    });

ここでの唯一の問題はartisan、1 つの環境でしか使用できないことです。上記のコードでは、開発環境に artisan が使用されます (これを使用する場合、artisan$_SERVER['HTTP_HOST']は設定されておらず、上記のコードではこのdev開発用のコードが選択されているためです。

于 2014-10-14T07:40:06.200 に答える