FuelPHP 導入

・導入環境

CentOS 6.3
Apache 2.2.15
PHP 5.3.3
MySQL Server 5.1.67

FulePHP 1.5

FuelPHPの導入

# yum install curl git
# curl get.fuelphp.com/oil | sh

・プロジェクトの作成

# cd /var/www/html
# oil create project_name

※「Fatal error: Exception thrown without a stack frame in Unknown on line 0」と表示される場合は
 下記のPHPのタイムゾーン設定を見直す

# vi /etc/php.ini
date.timezone = 'Asia/Tokyo'

バージョンの確認

# cd project_name
# php oil -v

・アクセス確認

http://<IPアドレス>/project_name/public/index.php/welcome
※publicを消したい場合は index.php の内容を編集して参照先を変更する

・index.php を消す

# vi fuel/app/config/config.php
index_file' => false,

# vi public/.htaccess
RewriteCond %{HTTP:X-Requested-With}    !^XMLHttpRequest$
RewriteCond %{THE_REQUEST}              ^[^/]*/index\.php [NC]
RewriteRule ^index\.php(.*)$            $1 [R=301,NS,L]
※コメントを消す

# vi /etc/httpd/conf/httpd.conf
※AllowOverride None で無いことを確認する

・環境のセット

# vi fuel/app/bootstrap.php 
Fuel::$env = (isset($_SERVER['FUEL_ENV']) ? $_SERVER['FUEL_ENV'] : Fuel::DEVELOPMENT);

・DBの設定

# vi fuel/app/config/development/db.php
'dsn'        => 'mysql:host=localhost;dbname=fuel_dev',
'username'   => 'root',
'password'   => '',

・DBの作成

# mysql -u root -p
mysql> CREATE DATABASE fuel_dev;

・scaffold

# cd project_name
# oil generate scaffold post title:string summary:varchar[250] body:text
# oil refine migrate

・ORMのロード設定

# vi fuel/app/config/config.php
'always_load'  => array(
  'packages'  => array(
    'orm',
  ),
),
※コメントを消す

・アクセス

http://<IPアドレス>/project_name/public/index.php/post/