Symfony1.x


プロジェクトの開始



・自環境
OS       : CentOS6.3
PHP     : php5.4.12
MySQL : MySQL5.6.1

1, SSH等でサーバーにログインをする

2, ディレクトリの移動
Webサーバーのホームディレクトリに移動する
※ 僕の場合 /usr/local/apache2/htdocs

3, コマンドの実行
php lib/vendor/symfony/data/bin/symfony generate:project jobeet
※ php lib/vendor/symfony/data/bin/symfony generate:project "プロジェクト名"
ということ
symfony1.2-5

3-1, すると
apps
cache
config
data
doc
log
plugins
symfony
test
web
上記,10のディレクトリ および ファイルが作成される
symfony1.2-6

4, アプリケーションの作成
symfonyのファイルがあるディレクトリで
./symfony generate:app --escaping-strategy=on --csrf-secret=Unique$ecret frontend
を実行
symfony1.2-7
するとディレクトリやファイルがいろいろ作成させる>
※ 詳細はかかない・・・(ごめん

[確認]
ここまででWebで確認ができるhttp://"IPアドレス もしくは ドメイン"/web/frontend_dev.php
※画像が表示されない

すると、エラーが表示されたので修正
・Warning: ob_start(): function '' not found or invalid function name in ~ /sfApplicationConfiguration.class.php on line 157

・Notice: ob_start(): failed to create buffer in ~/sfApplicationConfiguration.class.php on line 157
- 修正
1, lib/vendor/symfony/lib/config/sfApplicationConfiguration.class.php
のファイルを開く
2, 157行目の
 ob_start(sfConfig::get('sf_compressed') ? 'ob_gzhandler' : '');

 ob_start(sfConfig::get('sf_compressed') ? 'ob_gzhandler' : null);
に修正

・画像が表示されないので
/usr/local/apache2/htdocs/web
のディレクトリ時に
ln -s /usr/local/apache2/htdocs/lib/vendor/symfony/data/web/sf
でシンボリックリンクを作っておく

・ /frontend_dev.php
が表示されないときは
front_end.phpを開き
4 ~ 6行目の
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.');
 }
をコメントアウトし
//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.');
 // }
にしてサイドチャレンジ

※ この時点でhttpd.conf や バーチャルホストでドキュメントルートを変更しておいたほうがよいような気がする

※ 2013/03/21 追記
チュートリアルを見てみる限りは1.2だろうと1.4だろうとPropelだろうとDoctrineだろうと変わらないのでタイトル変更

【参考サイト】
Symfonyチュートリアル 1日目
紫陽花観察日記