8

Laravel3 を使用してマルチ環境プロジェクトをセットアップしようとしていますが、環境を設定するコマンドがわかりません。

ここに表示されます: http://laravel.com/docs/artisan/commands コマンドは次のとおりです。

php artisan foo --env=local

私はすでに artisan と bob を使用して成功していますが、fooを理解できないため、プロジェクト名に変更しようとしましたが、常に同じ出力:「申し訳ありませんが、そのタスクが見つかりません。」

私が試してみると: php artisan --env=local

「タスク名を指定するのを忘れました。」が返されます。

誰でも助けることができますか?御時間ありがとうございます。

[編集]回答が得られたので、質問をよりよく理解し、改善することができます:

これらのフォルダーが作成されたプロジェクトがあります: http://d.pr/i/5nZS それを念頭に置いて、ローカル環境を開発として、運用を運用として設定する必要があります。それで、コマンド「php artisan --env=local」のバリエーションでそれを行うことができますか、それとも public/.htaccess 「SetEnv LARAVEL_ENV development」に追加する必要がありますか?

再度、感謝します。

4

4 に答える 4

12

「Foo」は、実行したいコマンドです。移行の例:

php artisan migrate --env=local

他にできることは、コンピューターのホスト名をこの配列に追加することです

たとえば、ローカル コンピューター名が「Effinity.local」の場合、

$environments = array(
    'local' => array('http://localhost*', 'Effinity.local'),
);

次に、環境を指定する必要はありません。

php artisan migrate

それが役立つことを願っています。

于 2013-01-15T17:51:06.537 に答える
1

ここで、私の質問をどのように解決したか:

まず、コマンドは必要ありませんでした。 php artisan migrate --env=localvirtualhost: に設定するだけで済みますSetEnv LARAVEL_ENV development

次に、William Cahill-Manley が言うように、$environments である application/paths.php に取り組む必要があります。以前使っていたのですが、使い方が間違っていました。私の場合、私はそれで解決します:

$environments = array(
    'development' => array('http://localhost/project*', '*project/*'),
    'production' => array('http://project.com', 'http://*.project.com')
);

私の問題は、以前のコードが次のようだったためです。

$environments = array(
    'development' => array('http://localhost/project*', '*project*'),
    'production' => array('http://project.com', 'http://*.project.com')
);

また、開発配列の 2 番目の要素のため、運用サーバーでは常に開発中になります。それは、開発中のURLhttp://project/と本番中のURLがhttp://project.com/またはhttp://user.project.com/

ほら、プロジェクトはすべての環境でアスタリスク/ワイルドカードによる開発を強制します。

于 2013-01-20T18:01:35.290 に答える
0

Foo はタスク名です。このファイルをタスク フォルダーに作成してみてください。たとえば、移行などの事前定義された他のタスクがいくつかあります。

<?php 
    class foo_task {
    public function run(){
            echo 'this is foo';
        }
    } 
?>

コマンドを実行すると、実行関数内のコードが実行されます。

php artisan foo --env=local
于 2013-01-17T00:37:34.697 に答える
0

最初に、Web アプリケーション用に名前ベースの仮想ホストをセットアップすることをお勧めします。

<VirtualHost *:80>
    ServerAdmin postmaster@localhost
    DocumentRoot "__PATH TO YOUR SERVER ROOT___/project/public/"
    ServerName project.dev
    ErrorLog "logs/project-error.log"
    CustomLog "logs/project-access.log" combined
</VirtualHost>

/private/etc/hosts次に、次のように project.dev を hosts ファイルに追加します。

127.0.0.1 project.dev

その後、DNS キャッシュをフラッシュすることを忘れないでください。

$ dscacheutil -flushcache

[project root]/path.php次に、 (あなたが言及した applications/path.php ファイルは存在しません) にある $environments 配列を修正して元の状態に戻します。元の *.dev ワイルドカードは、指定した URL の末尾にある .dev を取得します。

$environments = array(

    'local' => array('http://localhost*', '*.dev'),

);

次に、という名前のディレクトリを作成しapplications/config/local新しいディレクトリに という名前のファイルを配置しますapplication.php。このファイルで指定された構成は、対応する構成ファイルによって設定された構成と、作成したlocalディレクトリの親で指定された設定/値を上書きします。

于 2013-02-05T08:37:21.267 に答える