CakePHP導入メモ
技術メモ
試験機:WindowsVista、XAMPP
導入:XAMPP
インストール後設定ファイルを修正。
php.ini
デフォルトタイムゾーンの設定
導入:CakePHP
ドキュメントルートに解凍、cakephpにリネーム(任意)
1. Security.salt及びSecurity.cipherSeedの変更
(CakePHPをインストールしたディレクトリ)\app\Config\core.php
デフォルト値以外の値を設定。末尾の一文字変更など…
- データベースの連携。データベース指定
(CakePHPをインストールしたディレクトリ)\app\Config\database.php
既存のdatabase.php.defaultというファイルがあるため、それを同フォルダ内にコピーしdatabase.phpにし、修正する。
末尾に、defaultとtestという配列があり、test用は使わなければ削除可。
使用するデータベースについてはMySQLの他にSQLite、PostgreSQL、SQL Serverなど利用できます。使用するデータベース毎に使用する項目が一部異なります。詳しくはdatabase.phpファイルに記載されたコメント部分を読んでみて下さい。今回はMySQLを使用するため次のように変更。
MySQLが動いているホスト名とデータベース名の他にCakePHPからデータベースにアクセスする時のユーザー名とパスワードを指定します。persistentは持続的接続を行うかどうかで今回はfalseにしました。
- MySQL設定、指定データベース作成 設定したデータベースとユーザー、パスワードを作成。
create database cake_db;
grant all on cake_db.* to 'cake_user'@'localhost' identified by 'cake_pass';
PHPからMySQLへはPDOを使って接続します。その為、php.iniファイルで「extension=php_pdo_mysql.dll」がコメントになっていないことを確認して下さい。(データベースなどの準備が出来ているのに「Database connection "Mysql" is missing, or could not be created.」のような表示されている場合はPDOの設定を確認されてみて下さい)。
http://localhost/cake/
にアクセスし正常に表示されていることを確認。
導入:CakePHPパス設定
システム環境変数のPathにPHPとCakeを追加
C:\xampp\php
C:\xampp\htdocs\cakephp\lib\Cake\Console
導入:Linux対応メモ
- mod_rewriteの設定
mod_rewriteが有効になっていない場合は次のようなメッセージが表示がされています。
URL rewriting is not properly configured on your server. 1) Help me configure it 2) I don't / can't use URL rewriting
では設定を行います。Apache(今回は2.2系です)をWebサーバとして使用している場合にはhttp.confファイルを編集します。
まずhttp.confファイル内でLoadModule rewrite_module modules/mod_rewrite.soを検索してコメントアウトを外します。
- .htaccessに関する設定 .htaccessファイルが使用できるように設定します。CakePHPを設定したディレクトリに対してAllowOverrideをAllに設定します。今回は下記のような設定をhttp.confファイルの最後に追加しました。
<Directory "CakePHPをインストールしたディレクトリ">
Options FollowSymLinks
AllowOverride All
</Directory>
設定は以上で終了です。設定が終わりましたらApacheを再起動すると設定が有効となります。