FuelPHP
FuelPHPを始めましょう
クイックインストール
公式サイト
より引用
1 2 3 4 5 6 |
# oil を Web からクイックインストールします $ curl get.fuelphp.com/oil | sh # /path/toの下に application プロジェクトを作ります $ cd /path/to/ $ oil create application |
最初に覚えたいフォルダ構成
アプリケーションを作成する上で、まず最初に知りたいフォルダのみピックアップして説明を記載します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
application fuel app cache classes ... モデル、コントローラー controller model config ... 設定ファイル lang logs ... ログ migrations modules tasks tests themes tmp vendor views ... テンプレート関連 core packages vendor public assets |
バーチャルホストへの設定
バーチャルホストで定義することをおすすめします。
参考)
1 2 3 4 5 6 7 8 9 10 |
vi /etc/apache2/sites-available/default <VirtualHost *:80> ServerName application.com DocumentRoot /path/to/application/public <Directory '/path/to/application/public'> AllowOverride all </Directory> </VirtualHost> |
http://application.com/ へアクセス後
1 2 3 |
FuelCorePhpErrorException [ Error ]: date_default_timezone_get(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone ‘UTC’ for now, but please set date.timezone to select your timezone. |
とでたとき、
1 2 3 4 |
vi /path/to/application/fuel/app/config/config.php 'default_timezone' => 'Asia/Tokyo', |
と修正しましょう。
Welocomeページが表示されると成功です。
パーミッション関連でのエラー
ディレクトリのパーミッションが適切でない場合、以下のようなエラーが出ます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
ErrorException [ Fatal Error ]: Uncaught exception 'FuelCoreFuelException' with message 'Unable to create or write to the log file. Please check the permissions on /path/to/application/fuel/app/logs/. (mkdir(): Permission denied)' in /path/to/application/fuel/core/classes/log.php:89 Stack trace: #0 [internal function]: FuelCoreLog::_init() #1 /path/to/application/fuel/core/classes/autoloader.php(375): call_user_func('Log::_init') #2 /path/to/application/fuel/core/classes/autoloader.php(249): FuelCoreAutoloader::init_class('Log') #3 [internal function]: FuelCoreAutoloader::load('Log') #4 /path/to/application/fuel/core/base.php(102): spl_autoload_call('Log') #5 /path/to/application/fuel/core/classes/error.php(120): logger(400, '14 - SQLSTATE[H...') #6 /path/to/application/fuel/core/bootstrap.php(93): FuelCoreError::exception_handler(Object(FuelCoreDatabase_Exception)) #7 [internal function]: {closure}(Object(FuelCoreDatabase_Exception)) #8 {main} thrown |
1 2 3 |
FuelCoreFuelException [ Error ]: There is no security.output_filter defined in your application config file |
1 2 3 |
FuelCorePhpErrorException [ Warning ]: mkdir(): Permission denied |
そのようなときは、適切なディレクトリにパーミッションを与えましょう。
1 2 3 4 5 6 7 8 9 |
cd /path/to/application/fuel/app chmod 777 logs chmod 777 tmp chmod 777 cache chmod 777 config cd config chmod 755 development production staging test |