2014年2月1日土曜日

CakePHPでデータベースの接続設定

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」

CakePHP- the rapid development php framework- Home

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.」


CakePHP- the rapid development php framework- Home2

0 件のコメント:

コメントを投稿