
CakePHP 2.3.6 及び DebugKit 2.0 をインストールしてみる。
仕事に時間の余裕が生まれたので、遂にというか、ようやくですが、CakePHPの2.3系統をインストールしてみることにしました。
とりあえず、今回はCake本体のインストール。
あっさりと出来ればいいのですが、果たして。
CakePHP2.3.6のDL、設置
ではまず、CakePHPをダウンロード。
こちらから、現時点の最新の安定版(Ver.2.3.6)をダウンロード。
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]
以上終了後にアクセスすると、以下のようになると思います。
一応、CakePHP自体は動いているようなので、上からエラーを修正していきます。
cakephp-2.3.6/app/Config/core.php の編集
Security.salt
195行目付近の、「Security.salt」を適当な文字列に変更します。文字列を追加しても構いません。
Security.cipherSeed
200行目付近の、「Security.cipherSeed」適当な文字列に変更します。元が数字なので数字を追加しても追加してみます。
ここでアクセスすると、このように成ると思います。
上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]
黄色の「DebugKit」が残っていますが、一応、ここまででインストール自体は成功。
しかし、せっかくなので、デバッグキットもインストールしてみたいと思います。
DebugKitインストール
gitHubからダウンロード
黄色い背景のメッセージにある gitHub に行き、ZIPファイルをダウンロード。
そのまま「↓ 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。
早速アクセス。
おおう、エラー 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以下の場合だそうです。
なので、解決策は
- phpのバージョンを上げる
- PHP 5.2でも動くものを使う
の2つ。
PHPのバージョンは、所々の理由からバージョンアップできないので、後者を選択。
先ほどのgitHubへ再度アクセス。
ブランチが、[branch: master] となっていると思います。
そこを、[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のアイコンが表示され、クリックしたらビョンと伸びてくれば完成です。
以上でCakePHPのインストールは完了です。
これまで使っていたのが1.3だったので、2系統はどのように変わっているのか試しながら使ってみたいと思います。
せっかくなので、違いなどをまとめたポストもしてきたいと思います。
[tgAmazonItemLookup asin="479803746X" related="1"]