手が震えたらBARに行こう

駄文を吐き出して、今日もなんとか、元気に生きていこうと思います。twitterアカウントは、@tabunmuri255です。よろしくです。

【おまけ】nitrous.ioで、CakePHPを使えるようにする【エラー潰し】

前回、エラー出てるのにも関わらず、ほっぽってすみません。
こういう時、2000年台のブログだと、
「あ、こら、そこ!石投げないで!」
とか、一人ギャグやってたのがあったような気がします。
でも、好きなので、やっときます。

「あ、こら、そこ!石投げないで!はてなブックマーク消さないで!」
フー今日もいい仕事した。(やりきった感)


さて、エラーつぶししましょうかね。
ぱっと見る限り怒られている原因は下記の3点かと思います。
- 時間の設定
- debugKitの設定がされていない
- データベースとの接続設定がされていない

じゃあ、一個ずつ解決していきましょう

時間の設定

これは、どのタイムゾーンcakePHPを動作せるか、設定されていない事が原因です。
なので、Config/core.php内の259行目近辺で、時間に関することを設定しているので、そこで下記のコードを書けばOKです。

date_default_timezone_set('Asia/Tokyo');

これで、OK

debugKitの設定がされていない

これは、Config/bootstrap.php内の最下部あたりに下記のコードを書き加えればOKです。

CakePlugin::load('DebugKit');

データベースとの接続設定がされていない

これは、接続できるようにすればいいだけです。
Nitrous.IOmysqlに鍵設定などはついていません。
また、ログインした後も、mysqlユーザの作成なども一切行えないので、そういう前提で、作業を進めたほうが良さそうです。
というわけで、データベースを作っちゃいましょう。
データベース作成のコマンドは、

create database <DB名>

となっています。
なので、例えば、以下のようにやると良いかもしれませんね。

create database test_db;

後は、test_app/Config/database.php.defaultをコピーしてdatabase.phpを作ります。
プロジェクトディレクトリ内で以下を試せばOKです。

test_app/Config/database.php

そしたら、後は、Config/database.phpの52行目付近に下記のように書いてある部分を

	public $default = array(
		'datasource' => 'Database/Mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'database_name',
		'prefix' => '',
		//'encoding' => 'utf8',
	);

こんな風に直せばOKです

	public $default = array(
		'datasource' => 'Database/Mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => '',
		'password' => '',
		'database' => 'test_db',←ここは、みなさんが各自作っていただいたDB名をそのまんま入れていただけば動きます。
		'prefix' => '',
		'encoding' => 'utf8',
	);

これらの設定を全部やると、こんな感じで全部オールグリーンになりました!
f:id:kirin255:20140622232105p:plain

これで、後は好きなだけ、開発ができるってもんです。
ヤッター