Top > システム > CakePHP

2010年09月25日

cpiサーバにCakePHPを設置する

cpiの共用サーバ(シェアードプラン G2)にCakePHPにて作成したWebアプリケーションを設置したときの備忘録です。cpiの共用サーバは、MySQLが使用できるのですが、文字コードがeuc固定とのことで、CakePHPの標準文字コードutf8とは異なっていました。また、.htaccessもcpiサーバ用に多少カストマイズしなければなりません。

以下テスト環境からcpiサーバへ移行する場合の変更個所です。

1.app/config/core.php

Configure::write('App.encoding', 'UTF-8');
   ↓
Configure::write('App.encoding', 'euc-jp');

2.app/config/database.php

class DATABASE_CONFIG {
 var $default = array(
  'driver' => 'mysql',
  'persistent' => false,
  'host' => 'localhost',
  'login' => 'ログイン名',
  'password' => 'パスワード',
  'database' => 'データベース名',
  'prefix' => 'プレフィックス',
 );

※ログイン名とデータベース名は、コントロールパネルにログインするために使うのと同じです。

※パスワードは、コントロールパネルにログインするときの初期パスワードですので、その後変更している場合は、変更前のものです。

※プレフィックスは、データベースを他のアプリケーションと共用する場合もあるかと思いますので、適当な文字を入れておきます。例) cakeApp1_

3..htaccess

AddHandler x-httpd-php524 .php
Options +FollowSymLinks
RewriteEngine on
RewriteBase /~g123456/
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]

※RewriteBaseの記述は、ユーザに応じて書き換えてください。

4.app/.htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]

5. app/webroot/.htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteBase /~g123456/app/webroot/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

※RewriteBaseの記述は、ユーザに応じて書き換えてください。

6.2バイト文字を使用しているファイルをeucに変換する。

以上の変更で、問題なく動きました。なお、コントローラ内で文字コード特有の処理をしている場合、その辺も修正する必要があります。

 

検索


Feed

Really Simple Syndication 2.0 The Atom Syndication Format Really Simple Discoverability