symfonyを使ってみる

symfonyの学習

PHPを勉強するにあたり、なにかしらのフレームワークを利用してみたいという気持ちが
強かったので、symfonyを勉強しようと思った。ということでまずは環境の構築をせねば
と、そのときの覚書を残しておく。


Webで調べながらだと個人的には体系的にサクサク進めないかなー、と思い、
以下の書籍を利用してみた。環境は、さくらのVPSの環境(CentOS 5.5)で。
symfony 1.4によるWebアプリケーション開発―オープンソース徹底活用

symfonyの関連ソフトのインストール

symfonyのインストールにあたり必要なソフトをインストールする。

$ yum install --enablerepo="remi" php php-pear php-devel php-pdo php-xml
php-mbstring php-process php-pecl-apc mysql-server subversion
$ chkconfig httpd on
$ chkconfig mysqld on
$ /etc/init.d/mysqld restart
$ /etc/init.d/httpd restart


ソフトの動作確認として以下の作業を実施した。

  • PHPのバージョン確認
  • mod_rewriteが有効になっているかの確認
  • AllowOverrideが有効になっているかの確認
  • APCが有効になっているかの確認


php.ini に以下の内容を追記。デフォルトタイムゾーンを設定しないため、
Warningが発生してしまっていたため。

date.timezone = Asia/Tokyo

symfonyインストール

  • サンドボックスパッケージからsymfonyのインストールを行った。

インストール方法は、これ以外にリリースパッケージ、subversionリポジトリ、からの
インストールを行うことができる。

$ cd /var/www/html
$ wget http://www.symfony-project.org/get/sf_sandbox_1_4.tgz
$ tar zxvf sf_sandbox_1_4.tgz
$ mv sf_sandbox_1_4 sf14
$ rm sf_sandbox_1_4.tgz
  • インストール後の動作確認
$ cd /var/www/html/sf14
$ php symfony -V
symfony version 1.4.11 (/var/www/html/sf14/lib/vendor/symfony/lib)
  • .htaccesの編集

/var/www/html/sf14/webディレクトリにある.htaccessに以下のような修正を行う。

RewtireBase /sf14/web/
  • sfディレクトリをコピー

雛形として作成されるサイトの画像などを適切に表示するためにシンボリックリンクを作成する。

$ ln -s /var/www/html/sf14/lib/vendor/symfony/data/web/sf /var/www/html/sf14/web
  • symfonyのインストール後の動作確認

http://(DomainName)/sf14/web/frontend_dev.php
にアクセスすると「Symfony Project Created」が表示されれば
インストール成功。

localhostからではなく、リモートでアクセスする場合は、
frontend_dev.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.');
//}

さあ、これで環境が整ったので、symfony使ったアプリ作りをやってみるか。