TIP この文書は、Symfony 1系を対象としています。
Symfonyには、以下の5種類のインストール方法があります。
- pearによるインストール
- Symfonyパッケージをダウンロードしてインストール
- Symfony Sandboxパッケージをダウンロードしてインストール
- subversionリポジトリからチェックアウトしてインストール
- gitリポジトリ(github)からcloneしてインストール
これらのインストール方法については、公式サイトのいくつかのドキュメントで説明されています。
- The symfony framework Installation (英語)
- Getting Started with symfony symfonyのインストール
- Practical Symfony 1日目:プロジェクトを始める
CAUTION 古いドキュメントでは、pearを使ったインストール方法で解説されているものが多くありますが、現在ではpearを使ったインストールは推奨されていません。
このページでは、Symfony入門者向けに一番手軽なSandboxパッケージを使ったインストール方法について説明します。
まずは、Symfony 1.4の最新版パッケージをダウンロードしましょう。
Symfony 1.4の最新版パッケージのダウンロードは、公式サイトのこちらのページから行います。
Downloadという行にtgz形式、またはzip形式でダウンロードできるリンクが表示されています。 また、SourceパッケージとSandboxパッケージがあります。
- Sourceパッケージ: Symfony本体のソースのみ
- Sandboxパッケージ: Symfony本体のソースと、sf_sandboxプロジェクト、frontendアプリケーションが初期化されたファイル群が付属
今回は、Symfony 1.4のSandboxパッケージをダウンロードして下さい(Symfony 1.4の列、Sandboxのtgzまたはzipリンクから)。
WebサーバーのDocumentRoot配下のディレクトリ、またはユーザーのpublic_html配下のディレクトリにて、ダウンロードしたファイルを展開してください。 以下のようなディレクトリ、ファイルがあります(ファイルは一部のみ記載しています)。
sf_sandbox/ apps/ frontend/ cache/ config/ data/ lib/ form/ vendor/ symfony/ log/ plugins/ test/ web/ css/ images/ js/ sfDoctrinePlugin/ uploads/ .htaccess frontend_dev.php index.php robots.txt LICENSE README symfony symfony.bat
Symfonyのディレクトリ構造について詳しく知りたい方は、『The Definitive Guide to symfony(日本語訳) 2.2.2 ファイルのツリー構造』を参照してください。
展開したSandboxパッケージのSymfonyがお使いの環境で動作するかどうか調べてみましょう。 コマンドラインでパッケージを展開したディレクトリ(sf_sandboxディレクトリ)へ移動し、以下のコマンドを実行してみてください。
php symfony -V
以下のようにSymfonyのバージョン情報が表示されれば、動作確認はOKです。
symfony version 1.4.4 (パス)
Symfonyには組み込みのエラー画面やデバッグツールバーがありますが、これら組み込み機能用のデザインファイルはプロジェクトのデザインファイルとは分離されています。 以下の操作を行って、組み込みのデザインが適用されるように準備してください。
# sf_sandboxディレクトリにて ln -s lib/vendor/symfony/data/web/sf web/
# sf_sandboxディレクトリにて xcopy /E /F /Y lib\vendor\symfony\data\web\sf web\sf\ # エクスプローラでsfディレクトリをwebディレクトリへコピーしても構いません
TIP frontend_dev.phpにアクセスしても、デバッグツールバーの画像や背景画像が正しく表示されない場合は、 この
sf
ディレクトリを正しく参照できていない可能性があります。 Webブラウザからsf
ディレクトリ内の画像などへアクセスできるかどうか確認してみてください。
Linux環境の場合、cache
ディレクトリとlog
ディレクトリにWebサーバーのプロセスから書き込みができるように設定しておく必要があります。
Symfonyにはこれらのディレクトリのパーミッションを設定するタスクが用意されています。
コマンドプロンプトでプロジェクトのルートディレクトリへ移動し、以下のコマンドを実行してください。
php symfony project:permissions
さて、ここまで準備ができたらWebブラウザからSymfonyのディレクトリにアクセスして、初期表示を確認しましょう。 sf_sandboxをローカル環境のドキュメントルート直下で展開した場合は、アクセスするURLは次のとおりです。
http://localhost/sf_sandbox/web/frontend_dev.php
上のような「Symfony Project Created」の画面が表示されたでしょうか?このメッセージが表示されれば、まずはSymfonyを動作させる最低限の設定の完了です。
NOTE お使いの環境の設定やサンドボックスパッケージを展開したディレクトリによっては上記のURLとは異なる場合があります。 重要な点は、
(プロジェクトルート)/web/frontend_dev.php
に対応するURLにアクセスするということです。
Symfonyを設置した開発サーバーとは別のコンピュータからアクセスした場合、このような表示になります。
これは、公開サーバーで誤って開発用フロントコントローラーが閲覧可能になってしまうのを防ぐためのコードです。
もしこのようなメッセージが表示された場合は、web/frontend_dev.php
ファイルを開き、以下の行をコメントアウトして下さい。
[php]
if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1')))
{
die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
この段階で画面が真っ白になって何も表示されない場合、cache
ディレクトリ、またはlog
ディレクトリのパーミッションが正しく設定されていない可能性があります。
Webサーバーのエラーログを確認してキャッシュに書き込めないというエラーが出ている場合は、パーミッションを設定し直して下さい。