
symfonyとはPHP5のフレームワークで、ajax開発にも対応した開発効率のよいフレームワーク…らしいです^^;
フレームワークを使うのは初めてですので、まだ良さがよくわかっていませんが、PHP開発に使ってみたいと思います。
xampp環境でsymfonyをインストールから、eclipseで開発環境を作るまでをまとめてみました。
symfony公式サイト参考 symfony Web PHP Framework
数あるPHPフレームワークの中からsymfonyを選択したのはMVC構造を勉強したかったのとAjax開発が容易である(らしい)ことです。同じ条件だとCakePHPもあてはまりますが、ドキュメントが多かったのでsymfonyにしてみました。zend Frameworkも後々やってみたいと思っています。
インストール前の準備
xampp・eclipseのインストール
作業環境
Windows VISTA
Xampp ( Apache2.2.6 / PHP 5.2.4 / Mysql 5.0.45 /PEAR1.4.11 )
symfonyはPEARからインストールすることが出来ます。xamppにPEARも一緒に入っているので、新たにPEARをインストールする必要はありません。
symfonyを動作させるにはPEAR1.4.0以上 PHP5.1.0以上の環境が必要です(最新のxamppならOK)。
プロジェクトの構造
作業ディレクトリ:E:/workspace/symfony
実働ディレクトリ:C:/xampp/htdocs/symfony
サーバーアドレス:127.0.0.1:8080
PEARのバージョンを確認する
インストールの前に、PEARのバージョンを確認します。
コマンドプロントで PHPのインストールディレクトリ(C:\xampp\phpなど)に移動してバージョンを確認します。
C:/xampp/php > pear -V

バージョンが足りなかった場合は
C:/xampp/php > pear upgrade PEAR
でアップグレードすることができます。
symfonyのインストール
ここまで準備が出来たら、インストール作業に移ります。
PEARチャンネルにsymfonyを登録する
symfonyは、symfony.comでパッケージが配布されているので、Channel機能を使ってPEARコマンドよりインストールすることになります。まずはPEARにチャンネルを登録します。
C:/xampp/php > pear channel-discover pear.symfony-project.com
最後にsucceedと出てきたら完了です。
symfonyのインストール
コマンドを実行するとインストールします。終わるまで少し時間がかかりました。
C:/xampp/php > pear install symfony/symfony
バージョンを確認。正常にインストールされていればバージョンが出てきます。
C:/xampp/php > symfony -V

これでsymfonyがインストールされました。
symfonyプロジェクトを作成
次は、xampp環境で、開発はeclipseを使ってやることを前提に練習用のプロジェクトを作成します。
symfonyプロジェクト用のワークスペースを作成
eclipseを使う前提で、他のプロジェクトと一緒にならないように新しいワークスペース:workspaceにドキュメントをインストールしています。
Eドライブの新規ワークスペース:workspaces に、symfonyというフォルダを作成します
> mkdir E:/workspace/symfony
symfonyのプロジェクトをインストール
上で作成したディレクトリE:/workspase/symfonyに移動します。
> cd E:/workspase/symfony
E:/workspase/symfonyに練習用プロジェクト「askeet」を作成します
E:/workspace/symfony > symfony init-project askeet
フロントエンドアプリケーションとして「frontend」を作成する。
E:/workspase/symfony > symfony init-app frontend
これでsymfony本体と練習用プロジェクトがインストールされました。
eclipseで作業することを考えて、プロジェクトをワークスペース用のディレクトリにインストールしましたが、実際に稼動させるのはxampp/htdocs内です。
eclipse使わない場合はxampp/htdocs内にインストールしないと動きません。
Apacheの設定
今作ったプロジェクトをApacheで動かすための設定です。
プロジェクトの公開ディレクトリ
eclipse使わない場合は、上でインストールしたプロジェクトのディレクトリを指定します。
C:/xampp/htdocs/symfony
バーチャルホストの設定
http://127.0.0.1の内容の実体はC:/xampp/htdocsになります。
これはドキュメントルートと呼ばれています。
現在の設定だと、プロジェクトのweb公開用のディレクトリC:/xampp/htdocs/symfony/webまでのアドレスは下のようになります。
http://127.0.0.1/symfony/web
ちょっと長いので、バーチャルホスト機能を使って、WEB公開領域にドキュメントルートをもうひとつ作ります。
バーチャルホストとはIPやホスト名でドキュメントルートを振り分けする機能です。
今回はポート番号を使ってドキュメントルートを振り分けてみます。
練習用プロジェクトの公開ディレクトリ
C:/xampp/htdocs/symfony/web
サーバーアドレス(IPの後ろのポート番号で振り分けしています)
http://127.0.0.1:8080/ → C:/xampp/htdocs/symfony/web
httpd.confの設定
ポート番号を追加します
C:/xampp/apache/conf/httpd.conf
# Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses (0.0.0.0) # #Listen 12.34.56.78:80 Listen 80 Listen 8080
ファイルの最後に追加
C:/xampp/apache/conf/httpd.conf
<VirtualHost *:8080> DocumentRoot C:/xampp/htdocs/symfony/web Alias /sf C:/php5/pear/data/symfony/web/sf <Directory "C:/xampp/htdocs/symfony/web"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
保存してApache を再起動します。
XAMPPコントロールパネルからApacheを「Stop」してから10秒ほど待って「Start」 してください。
Runningにならない場合はhttp.confの記述が間違っています。または少し待ってから「Start」するといいみたいです。
サイトの確認
http://127.0.0.1:8080
にアクセスして、以下の画面が表示されれば、Symfonyが正常に動いています。

画像が出ない場合は、httpd.confで指定したエイリアスのパスが間違っていますので、環境に合わせて修正して下さい。
Alias /sf C:/php5/pear/data/symfony/web/sf
symfonyをeclipseのプロジェクトに設定
上で作成したプロジェクトをeclipseで設定します。
新しいワークスペースを作る
ファイル > ワークスペースの切り替え > その他を選択して新しいワークスペースを設定します。
詳しいワークスペースの作り方・プロジェクトの作成の仕方はこちらを見て下さい。
ワークスペース:E:/workspace
サーバーの設定
新しくPHPサーバーを設定します。
URL:1287.0.0.1:8080
ディレクトリ:C:/xampp/htdocs/symfony
PHPプロジェクトを作成する

プロジェクト名:symfony
これで、インストールしたプロジェクトとeclipseのプロジェクトが同期しました。









Comments: 6
とてもサイトが役に立ちました。
しかし、一つ混乱して分かりにくい点が・・・
symfonyをeclipseで使うというタスクのはずですが、
途中で、eclipseを使わない場合はうんぬんと出てきて、
結局どうしていいのか分かりにくくなっています。
そこがとても残念でした。
途中の「Apacheの設定」から下のとこですね。
そうですね・・・ちょっと分かりづらかったかもです。
時間があるときでも修正しておきます。ご意見ありがとうございました^^
大変参考になります。
ただ「バーチャルホストの設定」のところが分かりにくく止まってます。
参考にしたかったのですが、verが上がり(1.4.8)仕組みが変わっているようで、
E:/workspace/symfony > symfony init-project askeet
でエラーが出てしまいました。
最新版ではなく
# pear install symfony/symfony-1.2.9
ならば、動作するようです。
>アキさま
コメントありがとうございます。
バーチャルホストは難しく考えないで、公開ディレクトリまでのパスが正しければ動くと思います。
http://de-lab.com/article/ubuntu-virtualhost/
こっちはLinuxでの設定ですが、バーチャルホストの考え方がわかると思いますので参考にどうぞ。
>flightさま
ご報告ありがとうございます。
symfonyもそうですがOSSはバージョンがあがると使い勝手が変わるものが多いので大変ですね^^;
最近はcakephpを使うことが多いので、そのうちsymfony使うときにまた見直してみます。