0

これまで、私は Symfony 2 アプリケーションを作成しており、起動を担当したことはありません。したがって、私は Smyfony 2 を呼び出したapp_dev.phpだけで、開発構成のみを使用しました。今、私は Symfony 2 のローンチの世話をしなければなりません。ライブに行く前に何を考慮しますか?

  • 環境ごとに異なる構成 (DB 接続など) を設定する場所と、それらを呼び出す方法を教えてください。
  • app_dev.phpアプリケーションがライブサーバー経由で呼び出されないようにするにはどうすればよいですか?
  • そして、Symfony 2 アプリケーションをライブにプッシュする際に注意すべき点について、その他のヒントを修正します。
4

2 に答える 2

1

まず第一に、これを文書化しました: http://symfony.com/doc/current/cookbook/deployment-tools.htmlこの記事は、最初と 3 番目の質問に答えているだけで、2 番目の質問の答えです:

ライブサーバーで app_dev.php 経由でアプリケーションを呼び出せないようにするにはどうすればよいですか?

Web サイトのルート ディレクトリをそのディレクトリに指定する必要がありますweb。たとえば、サイトが次の場所にあるとします。

mysite.com/
    public_html/
        ... your site files/directories

次のようにする必要があります。

mysite.com/
    app/
        ...
    src/
        ...
    vendor/
        ...
    public_html/ <--- this is the old web directory
        ...
        app.php

webディレクトリをpublic_htmlドキュメントに変更する方法も読むことができます: http://symfony.com/doc/current/cookbook/configuration/override_dir_structure.html

これを行う理由は、すべてのアプリケーション コードを保護するためです。ユーザーはすべてapp/.のファイルvendor/.にアクセスsrc/.できないため、構成を読み取ることができず、パラメーターを読み取ることができません。

最後に、 に変更app.phpindex.phpて のような URL を取得できますmysite.com/app.php/blog/foobar。ただし、単純な HTACCESS mod_rewrite ルールを作成してすべてのリクエストを に送信する方がよいためapp.php、 でページにアクセスできますmysite.com/blog/foobar

.htaccessルートで:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*?)$ app.php$1
于 2012-12-14T22:04:01.377 に答える
0

環境ごとに異なる構成 (DB 接続など) を設定する場所と、それらを呼び出す方法を教えてください。

プロジェクトをあまり変更していない場合、構成ファイルは app/config の下にあります

ライブサーバーで app_dev.php 経由でアプリケーションを呼び出せないようにするにはどうすればよいですか?

同じように、プロジェクトにあまり変更を加えていない場合、注意する必要があるのは、Web サーバーが /web から Web サイトを実行していることを確認することだけです (残りは .htaccess が行います)。

そして、Symfony 2 アプリケーションをライブにプッシュする際に注意すべき点について、その他のヒントを修正します。

app/logs のログ ファイルを監視できます。

于 2012-12-14T22:07:13.900 に答える