CodeIgniter :: 最初に設定するであろう設定箇所のメモ

PHPフレームワーク「CodeIgniter」の最初に設定するであろう設定箇所のメモです。
複数のアプリケーションを構築する前提で、以下のように application ディレクトリと html ディレクトリ配下に <APP> というディレクトリを作成しています。

application/<APP>
html/<APP>


定数:ENVIRONMENT の動的設定

/path/to/production/ci
/path/to/development/ci

上記の前提で、ディスパッチャーである index.php(html/<APP>/index.php) の先頭の方に、以下のコードを追加します。

if (strpos(__FILE__, '/path/to/development/ci') === 0) {
    define('ENVIRONMENT', 'development');
}
if (strpos(__FILE__, '/path/to/production/ci') === 0) {
    define('ENVIRONMENT', 'production');
}
defined('ENVIRONMENT') || exit("`ENVIRONMENT' is not defined\n");

本番サーバーでは、定数:ENVIRONMENT の値が production に、
開発サーバーでは、定数:ENVIRONMENT の値が development になります。
※ステージング環境などが必要な場合は、適宜追加します。

$application_folder = '../../ci/application/<APP>';


application/<APP>/config/database.php

switch (ENVIRONMENT) {
    case 'development':
        $db['default']['hostname'] = 'localhost';
        $db['default']['username'] = 'username';
        $db['default']['password'] = 'password';
        $db['default']['database'] = 'database_dev';
        $db['default']['db_debug'] = true;
        break;

    case 'production':
        $db['default']['hostname'] = 'localhost';
        $db['default']['username'] = 'username';
        $db['default']['password'] = 'password';
        $db['default']['database'] = 'database';
        $db['default']['db_debug'] = false;
        break;

    default :
}
// ↓コメントアウトする
//$db['default']['db_debug'] = FALSE;


application/<APP>/config/routes.php

$route['default_controller'] = "welcome";
  ↓
$route['default_controller'] = "index";


application/<APP>/config/autoload.php

$autoload['libraries'] = array('database');


パーミッションの変更

% chmod 777 application/<APP>/cache
% chmod 777 application/<APP>/logs


以上です。
必要に応じて、今後も追加していく予定です。