そんなにGeekじゃないエンジニアブログ

FuelPHPで開発するときに最初につまづくところ4つ~インストールから初期動作確認まで

calendar

こんにちは。でんすけ(@notgeek_densuke)です。

最近、PHPのフレームワークのひとつ、FuelPHPを勉強しているのですが、
最初のインストールからちょいちょいつまづいたので、
つまづきポイントをメモ代わりにまとめます。

これからFuelPHPを始める予定の方はお気を付けくださいませ。

スポンサーリンク

FuelPHPのインストールでつまづく

まずは、FuelPHPのインストール。
日本語版ドキュメントもあるのでありがたいですね。
こんな手順が載ってます。

# oil を Web からクイックインストールします
$ curl get.fuelphp.com/oil | sh

# oil が、たった今、インストールされました。Sites ディレクトリで blog プロジェクトを作ります
$ cd Sites/
$ oil create blog

で、その通りにやろうとすると
curlの実行の時点で、こんな感じのエラーが出ます。

sh: line 1: syntax error near unexpected token `newline'
sh: line 1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'

えー、なんじゃそりゃ。

正解はこちら。

$ curl https://get.fuelphp.com/oil | sh

httpsじゃないとうまく動かないという罠。
日本語版ドキュメントでは、FuelPHP 1.8 ではhttpsで説明されてますが、
1.7、1.9のドキュメント通りにやるとエラーになります。

直しといてよ・・・。

oilコマンドでつまづく

で、続いて。
実際に、httpsでインストールが完了したタイミングでは、何の反応もないまま処理が終了します。
なので、インストールできたのか、できてないのか、よくわからん。

ということで、試しにoilコマンドを実行してみることに。

$ oil

すると、こんな反応が返ってきます。

This is not a valid Fuel installation so Oil is a bit lost.
        http://fuelphp.com/docs/installation/instructions.html

え、なにかが足りてないっぽい?
なにこれ、インストール失敗してる?

と思って色々調べまくってしまったのですが、なんてことはない。
僕の勘違いでした。

ドキュメントに手順が書いてありますよね。

# oil が、たった今、インストールされました。Sites ディレクトリで blog プロジェクトを作ります
$ cd Sites/
$ oil create blog

create プロジェクト名」を付ければよかったわけです。
すると、プロジェクトディレクトリが作られて、テンプレートらしきファイルたちが作成されるわけです。

単純に何もないところで「oil」コマンドだけ実行しても何もできないよ、ということです。

logディレクトリの権限設定でつまづく

で、無事にFuelPHPのインストールが完了したので、
Apacheなりのサーバの設定も終わらせて、
とりあえずブラウザで初期画面でも表示させてみるかー、
と実行してみた結果。

ええぇぇーー!

まだ何も触ってもないのにエラーとかどういうこと・・・

エラーを読んでいると、どうやらログファイルの出力先が存在しないとのこと。
いや待って、ディレクトリ自体は確かに存在しているんですけど。。

と思ったら、実はディレクトリの権限が足りてないという結論に。

ブラウザ経由で実行される=第三者に実行されるものなので、
ファイルの書き込みが許可されていないといけないわけです。

ということで、こういうことをしてあげます。

$ chmod 777 (プロジェクトディレクトリ)/fuel/app/logs

$ ls -ld (プロジェクトディレクトリ)/fuel/app/logs
# 出力結果の先頭が「drwxrwxrwx」みたいになってればOK

「log」ディレクトリに書き込み権限を与えてやればいいのですね。

これ、最初から777の権限でディレクトリ作ってくれればいいのになぁ。
初期画面でエラー出るって、心折れるわ。

タイムゾーンの設定でつまづく

よし、今度こそブラウザで画面表示だ!
と思って再度実行すると・・・

ま た エ ラ ー か !

お兄さん怒るよ。

今度はタイムゾーンの設定が必須だよ、みたいなことを言われてます。

これ、「fuel/app/config/config.php」ファイルのタイムゾーンの設定を書き直せば解決するっぽい。

$ vi fuel/app/config/config.php

# // 'default_timezone'   => null,
# となっているところを
# 'default_timezone'   => 'Asia/Tokyo',
# などに変更する

こんなの、デフォルトで適当なタイムゾーンに設定しとくか、
対話形式でタイムゾーン聞くとか、
なんかできんかったんかいね?

 

全部設定し終わったら、ようやく初期画面が表示できました。
Welcome!

まとめ

ということで、FuelPHPの初期インストールでハマる4つのポイントでした。

環境によって動作が違うかもしれないので、みんながみんなハマるわけではないかもしれませんが、少なくとも僕の環境ではハマりました。

・インストールURLはhttpsで
・oilコマンドは手順に沿って
・ディレクトリ権限気を付ける
・タイムゾーンの設定をする

開発の出だしでハマるのって萎えるので、
同じようなことでハマる人が一人でも少なくなりますように。

それではまたー。

この記事をシェアする

コメント

コメントはありません。

down コメントを残す




CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください