スキップしてメイン コンテンツに移動

FuelPHPはじめてみます

PHPご指名で、RESTfulな機能を作ることになったので、調べてみたらFuelPHPが良さそうな気がしたのでちょっと試してみます。

インストールしようと思ったら、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:

コメント

このブログの人気の投稿

M1 Macbookの仮想化環境 Parallels DesktopでWindows10

 CPUアーキテクチャの変更でもっとも影響を受けるところからいきなりぶっこんでみようと思います。 十数年前にPowerPCアーキテクチャからIntelアーキテクチャへの変更で、ユーザとしてもっとも恩恵を受けられたのがBootCampやParallelsなどの仮想マシン環境を使って、Windowsが使えるところが大きかったりします。 開発作業などはMacだけで行えたとしても、動作確認を行うためにWindowsの環境が必要になったり、Mac版のMS Officeでは印刷がズレてしまったり、Windows版のソフトしか提供されていなかったりなど、手元でWindowsが動いてくれたほうが嬉しい人も多いと思います。 IntelアーキテクチャからARMアーキテクチャの変更によって、一般的に広く使われているIntelアーキテクチャ向けのWindowsは動かなくなっています。 ですがMicrosoftはWindows8の頃から、ARM向けのWindowsをハードウェアベンダ向けには提供していて、これが一般に向け提供されるのかみなさん興味津々な状態です。 一般向けに提供されている訳ではないですが、Microsoftのベータテスト的なプログラム Insider ProgramでWindows 10が配布されており、これを試しに動かすことができるようです。 Windows Insider Program Macの仮想化環境としてはParallels、VMWare Fusion、VirtualBoxなどが使われていると思いますが、私はParallelsを愛用しています。 Parallels DesktopのM1対応のテクニカルプレビュー版 が公開されているので、これを使ってARM版Windows 10を動かしてみます。 早速Parallels Desktopのテクニカルプレビュー版をダウンロードしてみます。ダウンロードした時のバージョンは16.3.0-50385 となっていました。 インストール後に、こんなダイアログが表示されます。Intelベースの既存のVMを動かすことはできないし、新しくIntelベースのVMを作ることはできない的なことを書いていそう。 続いてWindows 10のイメージのダウンロードを行いますが、サイズが7.6GBもあるのでかなり時間がかかります。ビルド番号は202

MacからWindowsの名前解決をする

Windowsな環境だと、NetBIOSでコンピュータ名で名前解決ができたりしてとても便利です。そんなこともあって、一時期はLinuxサーバに用がなくてもSambaをインストールしたりしていた時代もありました。 ですがMacからはNetBIOS名で名前解決してくれません。Windowsとのファイル共有にはSambaが使われているので、NetBIOSで名前解決しようと思えば簡単にできるはずですが、色々あるんでしょうね。きっと。 実際のところ、ファイル共有だけであればWindowsでもLinux上のSambaでも問題なくできるんですが、pingを打ちたい時や、pingを打ちたい時、ほかhttpとかデータベースに繋げたい時とかに困るんです。pingを打ちたい時の方が多いですが。 とりあえず手動でなら、NetBIOS名からIPアドレスは引けたりします。おもむろにターミナルを開いて $ smbutil lookup ホスト名 とすれば、IPアドレスが引けます。 ので、このIPアドレスを指定してping打ったり、他色々できますが、面倒でやってられませんね。 じゃあMacでNetBIOSのようなものってないのかというと、ちゃんとあって、mDNSという仕組みが使われています。 mDNSの詳しいことは後日調べるとして、LinuxならavahiをWindowsならBonjourをインストールして、ホスト名.localで名前解決ができるようになります。 他、DHCPサーバとDNSサーバを連動されてあげれば、ソフトを追加でインストールしなくて済むのでスマートに仕上がりますが、最近は面倒なのでDHCPサーバはブロードバンドルータに任せっきりなのでありました。 Bonjour for Windowsのダウンロードがイマイチ良く分からないことになっています。 とりあえず Bonjour Print Services for Windows をダウンロードすれば大丈夫そう。

電子マネーチャージ用のクレジットカード

MUFGカードでマイルをセコセコ貯めているのですが、昨年、 MUFGカードからの衝撃的なお知らせ をお伝えしたとおり、MileagePlus MUFGカード ゴールドプレステージ Visaでの電子マネーチャージしてもマイルが貯められなくなって寂しい思いをしています。 マイルを1箇所にまとめてためたいところですが、コンビニでクレジットカード払いをするのもなんだな面倒な感じですし、そもそもおサイフケータイ大好きっ子なので、電子マネー使えるところでは、シャリーンとか、ピュリーンとかピピッ!とかワォンとか鳴かせたいわけです。 そこで仕方がないので、電子マネーチャージ用に別のクレジットカードを作ることにしました。1.2%のPontaポイントが貯まる リクルートカード です。 昨年まではリクルートポイントってのが貯まってたみたいですが、リクルートポイントがPontaポイントに統合されたみたいです。じゃらんとかホットペッパーとかよく使うので、リクルートポイントでもPontaポイントでもどちらでもいいのですが、Pontaポイントの方が購買情報などをより広くばらまかれるんでしょうね。 今なら最大6000ポイントもらえるらしいですが、内4000ポイントはカードで携帯電話の料金を払った場合なので、ちょっと煩わしいです。 カードの紹介に「電子マネーチャージでもポイント対象になります。」って書いているので大丈夫だと思うのですが、カードの発行元がMUFGカードなので、またそのうち衝撃的なお知らせが来ないか心配ではあります。 とはいえ、年会費無料で1.2%の還元率は魅力的なので、ひとまず電子マネーチャージ用に申し込んでみました :)