CakePHPで高速Webアプリ開発

第4回 CakePHPでの開発環境を構築する

この記事を読むのに必要な時間:およそ 2 分

設置できたかを確認するためにhttp://yourdomain.example.com/cake/にアクセスします。mod_rewriteが使用可能であれば図4のような画面が表示されます。

図4 mod_rewriteの確認

図4 mod_rewriteの確認

mod_rewriteが使用できない場合は,ブラウザ標準のスタイルシートの見栄えとなり,図5のような画面が表示されます。

図5 mod_rewriteが使用できない場合

図5 mod_rewriteが使用できない場合

この2つのように表示されない場合は,アップロード先・URL・サーバの設定が誤っている可能性がありますので,単純なミスがないか確認してみてください。

パーミッションの設定

CakePHPは動作時にModelのキャッシュやViewのキャッシュなどの一時ファイルを作成します。そのためWebサーバが一時ファイルを書き込みできるように,書き込み先ディレクトリのパーミッションを適切に設定しておく必要があります。

sshなどでシェルが利用可能な場合は,app/tmp以下を「chmod -R 707」とするなどして,再帰的に丸ごと設定してもよいでしょう。シェルが利用できずFTPのみの場合は以下赤字部分の6つのディレクトリに書き込み権限を与えます。

/home/gihyo/public_html/cake/
  app/
    tmp/
      cache/
        models/
        persistent/
        views/
      sessions/
      logs/
      tests/

データベースへの接続設定

今回の環境構築の仕上げとして,データベースへの接続情報を設定します。

app/config/database.php.defaultをコピーまたはリネームして,app/config/database.php を作成します。 database.phpではDATABASE_CONFIGクラスが定義されており,データベースへの接続情報をメンバ変数として定義しています。デフォルトの記述を参考にして,適切な情報に書き換えます。

<?php
// app/config/database.php を書き換えた例
class DATABASE_CONFIG {
   var $default = array(
     'driver'   => 'mysql',
     'connect'  => 'mysql_connect',
     'host'     => 'localhost',
     'login'    => 'gihyo',
     'password' => 'gihyopass',
     'encoding' => 'utf8',
     'database' => 'gihyo_cake',
     'prefix'   => '',
   );
}

デフォルトの記述では,DATABASE_CONFIG::$default変数と DATABASE_CONFIG::$test 変数があります。$default変数は動作時に接続先を指定しない場合に自動で選ばれる接続先を書きます。テストに使用するデータベースがある場合や,モデルによって接続先を変更したい場合は任意の変数名でここに接続先を列挙しておくことになります。

適切な情報に書き換えたら,再度,http://gihyo.example.com/cake/にアクセスします。

CakePHPからデータベースに接続に成功した場合は,図6のように表示されます。

図6 データベースへの接続が成功した場合

図6 データベースへの接続が成功した場合

接続できなかったときは以下のようなWarningメッセージとともに「Cake is not able to connect to the database.」と表示されます(phpの設定によってはWarningは表示されないことがあります)⁠

Warning: mysql_connect() [function.mysql-connect]: Access denied for user: 'gihyo@localhost' (Using password: YES) in /home/gihyo/public_html/cake/cake/libs/model/dbo/dbo_mysql.php on line 100

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/gihyo/public_html/cake/cake/libs/model/dbo/dbo_mysql.php on line 105

Cake is not able to connect to the database.

接続情報やデータベース側が適切に設定されているかを確認してください。

以上で一通りの準備が整いましたので,次回からはアプリケーション部分の開発を進めたいと思います。

著者プロフィール

秋田真宏(あきたまさひろ)

株式会社ロケットスタート エンジニア。個人ブログは「akiyan.com」。1981年生まれ。

URLhttp://www.akiyan.com/

著書

コメント

コメントの記入