XAMPP 1.7.3 + CakePHP 1.3.3 設置覚書 :: Windows版
そろそろ夏休み。
できる限り勉強をしたいので、環境を作ってます。忘れた時のために覚書。bakeを使わないで、手動でセコセコやる取り組み。
XAMPPとCakePHPのダウンロード
インストールというか設置
まずは、XAMPP からインストール。Default だと C:\ 直下。
CakePHPは、解凍したらフォルダ名を変更。『cake』などに。変更したら、DocumentRoot の c:\xampp\htdocs\ に移動しておきます。
XAMPP の設定
とりあえず、最初は XAMPP の初期設定を。
- c:\xampp\apache_start.bat で、Apache を起動させ、ブラウザで http://localhost/ にアクセスして、XAMPP の起動を確認します。
- c:\xampp\mysql_start.bat で、MySQL を起動させ、http://localhost/security/ にアクセスして、セキュリティ関連の設定を済ませます。
なお、MySQLのユーザーは設定しておいても良いかと。
CakePHP の設定
XAMPP 1.7.3 + CakePHP 1.3.3 の組み合わせだと、この状態で、http://localhost/cake/ にアクセスすると、
Warning (2): strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for '9.0/no DST' instead [CORE\cake\libs\cache.php, line 570]
Notice: Trying to get property of non-object in C:\xampp\htdocs\cake\cake\libs\cache\file.php on line 248
Fatal error: Call to a member function cd() on a non-object in C:\xampp\htdocs\cake\cake\libs\cache\file.php on line 248
という、エラーが表示されてしまいます。このエラーを解消するには、C:\xampp\htdocs\cake\app\config\core.php を開いて修正する必要があります。
core.php の修正
/**
* If you are on PHP 5.3 uncomment this line and correct your server timezone
* to fix the date & time related errors.
*/
//date_default_timezone_set('UTC');
247行目のコメントをはずしてあげれば、とりあえずエラーは解消されます。
また、core.php においては他にも2箇所修正しておきます。
203行目の Security.salt の初期値を、ユニークな英数字に。
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
208行目の Security.cipherSeed の初期値を、ユニークな数字に。
Configure::write('Security.cipherSeed', '76859309657453542496749683645');
それぞれ変更しておきます。
detabase.php の修正
最後に、CakePHP で使う、MySQL との接続に使う detabase.php の設定を行います。
C:\xampp\htdocs\cake\app\config に、『database.php.default』 というファイルがあるので、コピーして、.default を取り除いて 『detabase.php』 にリネームして……
var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'user', ♯ユーザー名 'password' => 'password', ♯ログインパスワード 'database' => 'database_name', ♯データベース名 'prefix' => '', );
76行目以下の $default の値を、MySQL の設定に沿うように変更した後に保存します。
参考図書とか
フレームワークに触ったことがない人は、CakePHP 公式のブログチュートリアルをやるのが良いとは思います。といっても、チュートリアル通りにやってもうまく動かない人や、設置すら困難な人には、『CakePHP 1.3によるWebアプリケーション開発―オープンソース徹底活用』をお勧めします。
CakePHPでの開発を一通り学べますが、MVCの概念やフレームワークでの開発に慣れるための本です。
フレームワークの活用方法を理解されていて、CakePHP に興味が湧いた人には、ポケットリファレンスが良いのではないでしょうか。
CakePHP1.1〜1.2 のポケットリファレンスなので、最新の 1.3 には対応していませんがこの一冊で十分すぎる内容だと思います。こっそり改訂を期待しているんですが、難しいのかなぁ。
……というか、他の CakePHP 本については紹介するのに、ちょっとだけ躊躇われる内容だったりするんですよね。