PHPご指名で、RESTfulな機能を作ることになったので、調べてみたらFuelPHPが良さそうな気がしたのでちょっと試してみます。
いくなり心が折れそうになったのですが、日本語ドキュメントサイトがあるじゃないですか!
日本語ドキュメントの「インストール方法」http://fuelphp.jp/docs/1.7/installation/instructions.html
を読んでみるとGitHubで提供されていることが判明。
gitクローンでインストールできました。
とりあえずの開発環境は、Mac OSに最初から入っているApacheを使っています。
Apacheのユーザディレクトリを有効にしています。
/Users/ユーザ名/Sites の中が http://localhost/~ユーザ名/ で参照できるようになります。
gitクローンしたフォルダの中のpublicフォルダのシンボリックリンクを 上記Sitesの中に作ってあげます。
$ cd $ git clone --recursive git://github.com/fuel/fuel.git testapp $ cd ~/Sites $ ln -s ~/testapp/public testapp
これで http://localhost/~ユーザ名/testapp/ でアクセスできるようになりました。
と思ったら、「Composer is not installed. Please run "php composer.phar update" in the root to install Composer」と表示されます。
よくわかりませんが、言われるがままにコマンドを叩きます
$ php composer.phar update
コマンド実行すると、ターミナル上に 警告 が表示されてドキっとしてしまいます。
Warning: This development build of composer is over 30 days old. It is recommended to update it by running "composer.phar self-update" to get the latest version.
とりあえず言われるがままにコマンドを叩きます
$ php composer.phar self-updateとりあえず怒られなくなりました。
ということでブラウザをリロード。
怒られた!
まあ、これは単純にログファイル書こうとして、権限がないだけなので安心して対応できますね。
とりあえず fuel/app/logsのパーミッションを 777 にしちゃいます。
(本番環境では777なんて指定しないでね)
$ cd ~/testapp/fuel/app $ chmod 777 logs
で、再度ブラウザをリロード。
で、また怒られます ><
システムで設定されているタイムゾーンを使うのは危ないから、ちゃんとタイムゾーン設定してね、みたいなこと言われてる?なんでシステムで設定されてるのだめなん?とか思いつつ、ググります。
PHPバージョンアップの際に発生するタイムゾーンエラーの対処方法
うむ、とりあえず .htaccess に設定することにしました。
$ cd ~/testapp/public
$ vi .htaccess
で、末尾に php_value date.timezone Asia/Tokyo を追記しました。
diff --git a/public/.htaccess b/public/.htaccess index bffe79e..537ae15 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -54,3 +54,4 @@ </IfModule> </IfModule> +php_value date.timezone Asia/Tokyo
で、再度ブラウザをリロード。
来たよ!来たよ!僕のマックにもFuelPHPが来たよ♥ということで、いつか分からない次回に続く。
追記
日本語ドキュメントの「設定」を読んでたら、タイムゾーンの設定はFuelPHPのconfig.phpでも指定できるみたい。.htaccessは環境によって使わないかもしれないので、config.phpでタイムゾーンを指定するようにしました。
diff --git a/fuel/app/config/config.php b/fuel/app/config/config.php index 5993891..6790f3d 100644 --- a/fuel/app/config/config.php +++ b/fuel/app/config/config.php @@ -94,7 +94,7 @@ return array( * default_timezone optional, if you want to change the serv er's default timezone */ // 'server_gmt_offset' => 0, - // 'default_timezone' => null, + 'default_timezone' => "Asia/Tokyo", /** * Logging Threshold. Can be set to any of the following:
コメント