CakePHPでデータベースへ接続する。database.phpを編集する。
動作環境
・Ubuntu 12.04.3 LTS
・CakePHP 2.4.4
・MySQL 5.5.34
・Apache 2.2.22
CakePHPをインストールしただけでは、データベースに接続できない。
インストール後、下記の図の黄色く示されている箇所にあるように、database.phpを用意する必要がある。
「Your database configuration file is NOT present. Rename APP/Config/dtabase.php.default to APP/Config/database.php」
database.php作成
下記のファイルをコピーして、database.phpを作成する。
(CakePHPディレクトリ)/Config/database.php.default
↓
(CakePHPディレクトリ)/Config/database.php
データベース設定
database.phpには、DATABASE_CONFIGクラスが定義されている。
そして、DATABASE_CONFIGクラスの中には、ふたつの連想配列が定義されている。
- $default
- $test
$defaultにはデフォルトで使用するデータベースの情報を設定する。
$testにはテスト時に使用するデータベースの情報を設定する。
ここでは、$defaultの項目を変更することにする。
datasource
接続するデータベースの種類を設定する。
使用するデータベースと、設定値は以下の通り。
MySQL | Database/MySQL |
SQLite | Database/Sqlite |
PostgreSQL | Database/Postgres |
SQL Server | Database/Sqlserver |
persistent
持続的接続を使用するかどうかを設定する。使用する場合は「true」を設定する。負荷が高くなるため、通常は「false」とする。
host
DBサーバの存在するホスト名、またはIPアドレスを設定する。CakePHPと同じサーバにDBをインストールしている場合は、「localhost」とする。
login
DBサーバにログイン可能なアカウント名を設定する。
password
loginで設定したアカウントのパスワードを設定する。
database
使用するデータベース名を設定する。
prefix
使用するテーブルの頭につける文字列を設定する。必要がなければから文字列を設定する。
encoding
文字エンコーディングを設定する。特に指定がなければ「utf-8」とする。
これらの項目はすべてが必要なわけではない。データベースがMySQLの場合、最低限datasouce、host、login、password、databaseを設定する。
設定後、Config/database.phpは下記のようになる。
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'XXXXX',
'password' => 'XXXXX',
'database' => 'Sample',
'prefix' => '',
'encoding' => 'utf8',
);
}
設定後、CakePHPへアクセスすると下記の図のようにデータベースに接続できるようになる。
「Your database configuration file is present.」
「CakePHP is able to connect to the database.」
0 件のコメント:
コメントを投稿