MR.NiNi About Log Tech Graph Memo Books Twitter

About
Log
Tech
Graph
Memo
Books
Twitter

symfony 1.4プロジェクト構築

symfony 1.4で新規プロジェクトを構築する場合は下記のコマンドを実行する。

% symfony generate:project testproject
% symfony generate:app test


上記のコマンドを実行する事により、カレントディレクトリ配下にtestprojectと、testprojectのアプリケーションとしてtestアプリケーションが作成される。
ちなみにsymfony 1.0の場合は下記のコマンドとなる。

% symfony init-project testproject
% symfony init-app test


コマンド実行後は、symfony本体のwebディレクトリ以下をプロジェクトディレクトリ配下にコピーする。
下記のコマンドは「/usr/local」をprefixとしてPHPを導入している場合のものなので、環境によりパスを変更する。

% cp -rp /usr/local/lib/php/data/symfony/web/* ./web

CentOS 6標準のphpからsymfonyを導入した時の場合は下記のコマンドとなる。

% cp -rp /usr/share/pear/data/symfony/web/* ./web

後はApacheのhttpd.confファイルを書き換えて、プロジェクトディレクトリ配下のwebディレクトリにアクセス出来るように設定を行ない、Apacheプロセスを再起動する事によりsymfonyを利用出来るようになる。
なお、webディレクトリより上の階層にはApacheからアクセス出来ないようにする必要があるため注意されたい。

symfonyのwebディレクトリがドメインのドキュメントルートではなく、ドメインのサブディレクトリ配下として運用される場合、web/.htaccessファイルを書き換える必要がある。
例えば、symfonyプロジェクトを/test配下で運用する場合は下記の通りに書き換える。

【変更前】
RewriteRule ^(.*)$ index.php [QSA,L]

【変更後】
RewriteRule ^(.*)$ /test/index.php [QSA,L]

また、symfonyプロジェクトディレクトリ配下にsymfonyとは関係ないコンテンツを設置する場合も同様に.htaccessを書き換える必要がある。

【変更前】
# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]

【変更後】
# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
RewriteCond %{REQUEST_URI} ^/test/othercontent.*$
RewriteRule .* - [L]

上記の通りに書き換えることにより、othercontentディレクトリ配下がsymfonyの範囲外となる。
詳細についてはmod_rewriteについて参照されたい。



【掲載日:2010.05.05 / 最終更新日:2011.04.05】

技術情報トップに戻る / トップページに戻る