CakePHP

CakePHP 2.3.6 及び DebugKit 2.0 をインストールしてみる。

仕事に時間の余裕が生まれたので、遂にというか、ようやくですが、CakePHPの2.3系統をインストールしてみることにしました。
とりあえず、今回はCake本体のインストール。

あっさりと出来ればいいのですが、果たして。

CakePHP2.3.6のDL、設置

ではまず、CakePHPをダウンロード。

こちらから、現時点の最新の安定版(Ver.2.3.6)をダウンロード。

CakePHP公式

CakePHP: 高速開発 php フレームワーク。 Home

任意のフォルダに解凍。
今回は、 shopping.localhost というローカルのバーチャルドメインを作成し、そのドキュメントルート(public_html)と同列に、Cake本体が来るように解凍しました。

CakePHP自体のフォルダ名は、本来は、バージョンなどは表記しないほうがよろしいかと思われますが、今回は分かりやすくバージョン付きとしてみます。

ここまででの状態。

設置構成

WEB_ROOTの変更

個人的に、CakePHPのWEB_ROOT(cakephp-2.3.6/app/webroot)が、チームで作業することに向いていないと考えているので、本来のドキュメントルート(public_html)を、WEB_ROOT とすることにしています。
今回もその方向に進みます。

webroot内ファイルのコピー

cakephp-2.3.6/app/webroot にあるフォルダ、ファイルを全て、public_html 内にコピーします。

public_html/index.phpの編集

コピーしたファイル内に含まれる、index.php を2箇所編集します。

40行目付近
[php mark="3"]
if (!defined('ROOT')) {
//define('ROOT', dirname(dirname(dirname(__FILE__)))); //ORG
define('ROOT', dirname(dirname(__FILE__)) . DS . 'cakephp-2.3.6');
}
[/php]

45行目付近
[php mark="3"]
if (!defined('APP_DIR')) {
//define('APP_DIR', basename(dirname(dirname(__FILE__)))); //ORG
define('APP_DIR', 'app');
}
[/php]

以上終了後にアクセスすると、以下のようになると思います。

cakeinstall_01

一応、CakePHP自体は動いているようなので、上からエラーを修正していきます。

cakephp-2.3.6/app/Config/core.php の編集

Security.salt

195行目付近の、「Security.salt」を適当な文字列に変更します。文字列を追加しても構いません。

Security.cipherSeed

200行目付近の、「Security.cipherSeed」適当な文字列に変更します。元が数字なので数字を追加しても追加してみます。

ここでアクセスすると、このように成ると思います。

cakeinstall_02

上2つのエラーが無くなりました。

次は、データベースです。

データベース作成、接続設定

適当なデータベースを作成します。
今回は、shopping というドメインなので、shoppingというDBを作成しました。

cakephp-2.3.6/app/Config/database.php の編集

元々、 database.php.default があるので、リネームして database.php とし、内容を編集。
作成したデータベースの設定通りに記述します。

[php]
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'shopping',
'password' => 'passwordstrict',
'database' => 'shopping',
'prefix' => 'shopping_',
'encoding' => 'utf8',
);
[/php]

cakeinstall_03

黄色の「DebugKit」が残っていますが、一応、ここまででインストール自体は成功。
しかし、せっかくなので、デバッグキットもインストールしてみたいと思います。

DebugKitインストール

gitHubからダウンロード

黄色い背景のメッセージにある gitHub に行き、ZIPファイルをダウンロード。

cakephp/debug_kit・GitHub

debug_kitGitHub_01

そのまま「↓ ZIP」アイコンをクリックすると、「debug_kit-master.zip」がダウンロード出来ます。
DLしたzipファイル(ディレクトリ)を、「DebugKit」にリネームし、cakephp-2.3.6/app/Plugin に設置(コピー)します。

CakePHPに組み込む

app/Config/bootstrap.php の編集

app/Config/bootstrap.php の70行目付近を編集、コメントアウトされているので、コメントアウトを外す

[php]
CakePlugin::loadAll(); // Loads all plugins at once
CakePlugin::load('DebugKit'); //Loads a single plugin named DebugKit
[/php]

app/Controller/AppController.php の編集

[php]
var $components = array('DebugKit.Toolbar');
[/php]

これでOK。
早速アクセス。

cakeinstall_04

おおう、エラー orz

Parse error: syntax error, unexpected T_FUNCTION in path/to/dir/cakephp-2.3.6/app/Plugin/DebugKit/Controller/Component/ToolbarComponent.php on line 182

上記エラーは、PHPのバージョンが5.3以下の場合だそうです。
なので、解決策は

  1. phpのバージョンを上げる
  2. PHP 5.2でも動くものを使う

の2つ。

PHPのバージョンは、所々の理由からバージョンアップできないので、後者を選択。

先ほどのgitHubへ再度アクセス。

cakephp/debug_kit・GitHub

ブランチが、[branch: master] となっていると思います。

debug_kitGitHub_02

そこを、[2.0]として、ダウンロードします。
debug_kit-2.0.zip がダウンロード出来れば、成功。

こちらを先ほどと同じく「DebugKit」にリネームし、cakephp-2.3.6/app/Plugin に設置(コピー)し、
cakephp-2.3.6/app/Config/core.php の debug値が 「2」 になっていることを確認し、アクセス。

[php]
Configure::write('debug', 2);
[/php]

アクセスして、全てのエラーが解消され、右上の方にCakeのアイコンが表示され、クリックしたらビョンと伸びてくれば完成です。

cakeinstall_05

cakeinstall_06

以上でCakePHPのインストールは完了です。

これまで使っていたのが1.3だったので、2系統はどのように変わっているのか試しながら使ってみたいと思います。
せっかくなので、違いなどをまとめたポストもしてきたいと思います。

[tgAmazonItemLookup asin="479803746X" related="1"]

-CakePHP
-, , ,