Choco Soft

Nadesiko DE RDB

Choco Soft header image 3

CakePHP

phpの有名なフレームワークです。
インストールに3日ほどハマったので、忘れないようにメモ・・・。
WindowsXP以降なら、XAMPPを使った方が楽ですね。
SSLの設定がWindowsだとヤバイくらい面倒・・・。

【手動入力の場合】
1.用意するもの
【MySQL】4.1以上が良いようですが、私は5.1を利用してます。
【PHP】今ならバージョン5.2.9ですね。
【Apache】私は2.0.54を利用してます。もちろんApache以外でもOK。
【CakePHP】1.2.1以上を推奨

2.インストール
【PHP】と【Apache】、【MySQL】は割愛します。
まずダウンロードした【CakePHP】本体を解凍します。
解凍して出来たフォルダを、WEBのルートディレクトリにコピーします。
私の場合は、以下にコピーしました。
【C:\Program Files\Apache Group\Apache2\htdocs】
コピーしたフォルダを自分でわかりやすいよう『cake』にリネーム。

こんな感じになりました。
【C:\Program Files\Apache Group\Apache2\htdocs\cake】

3.設定
A.【Apache】
Apacheの設定ファイルである『httpd.conf』をエディターで編集します。
使うエディターは、何でもいいです。

A-1.『mod_rewrite』を有効にします。
#LoadModule rewrite_module modules/mod_rewrite.so
この行のコメントを外します。
LoadModule rewrite_module modules/mod_rewrite.so

A-2.『.htaccess』を有効にします。
こんな行がありますので・・・
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).

この下にある『Directory』で指定されている部分を修正します。

<Directory “C:\Program Files\Apache Group\Apache2\htdocs”>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
上記のように修正してください。

B.【CakePHP】
B-1.『.htaccess』ファイルを編集します。
『app』、『app\webroot』、『cake』それぞれにある『.htaccess』ファイルを編集します。
私の現状のフォルダ構成だとこの3つです。
【C:\Program Files\Apache Group\Apache2\htdocs\cake\app\.htaccess】
【C:\Program Files\Apache Group\Apache2\htdocs\cake\app\webroot\.htaccess】
【C:\Program Files\Apache Group\Apache2\htdocs\cake\.htaccess】

【C:\Program Files\Apache Group\Apache2\htdocs\cake\app\.htaccess】
の編集内容について

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cake
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>

【C:\Program Files\Apache Group\Apache2\htdocs\cake\app\webroot\.htaccess】の編集内容について

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cake/app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

【C:\Program Files\Apache Group\Apache2\htdocs\cake\.htaccess】
の編集内容について

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cake
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

B-2.『Security Salt』
【C:\Program Files\Apache Group\Apache2\htdocs\cake\app\config\core.php】を編集します。
150行目付近に、以下のような記述があります。
『Configure::write(‘Security.salt’, ‘DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi’);』
ここでは、暗号化の為のハッシュ値を決めてますので、これを何でもいいから適当な値に変えてやります。
私は目をつぶってキーボードを叩いて出て来た値を入れました(笑)

『Configure::write(‘Security.salt’, ‘alejroqljfoiw092384laj’);』
こんな感じです。

4.完了の確認
全部設定が終わったら【Apache】を再起動します。
その後、【http://localhost/cake/index.php】にアクセスします。
設定が成功するとこんな画面になります。

成功すると全部緑

成功するとこんな感じ

【XAMPPを利用する場合】
これから記載予定

【デバッグモードについて】
/app/config/core.php の52行目に
define(‘DEBUG’, 0);と定義されているのがデバッグモード

この値を変更することにより、本番環境、開発環境と切り替えることができる。

DEBUG の値は
0: プロダクションモード。エラーは出力されず、デバッグメッセージも表示されません。
1: 開発モード。 Warnings とエラー、デバッグメッセージを表示します。
2: 開発モード。実行されたSQL 文が表示されます。
3: 開発モード。2に加えて、現在のオブジェクト(通常はコントローラ)のフルダンプも表示されます。

DEBUG=1 で開発を行い、データ取得などの挙動が考えているのと違うときに、
DEBUG=2 にするという感じでやっています。
あまり、 DEBUG=3 を使用していないなあ。コントローラのダンプなので量が多すぎてかえって見づらいので、
debug($hoge);などで必要なときに個別にダンプを出してしまいます。

もちろん本番環境では DEBUG=0 です。

印刷 印刷