環境を分ける方法

.htaccessやhttpd.confで環境変数を渡すことで、本番環境と開発環境などを分けることができます。

設定方法
使用方法
必須条件

たとえば環境によるデータベースの設定の違い(パスワードなど)を吸収することができたり、 開発環境のみ詳細なエラーを表示させたりできます。

設定方法

本番環境

SetEnv APPLICATION_ENV production

デフォルトではproductionが使用されるので、本番環境の場合は指定をしなくてもよい。

開発環境

SetEnv APPLICATION_ENV development

最初に読まれるindex.phpに、次のように書きます。

defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

使用方法

config.ini

/application/configs/application.ini
などでは次のような書き方をします。

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

ActionやView

定数APPLICATION_ENVに環境名があるので、それを条件に分けます。

if ('development' == APPLICATION_ENV) {

}

必須条件

SetEnv

SetEnvを使用するには、Apacheのmod_envモジュールが必要です。

LoadModule env_module modules/mod_env.so

.htaccess

.htaccessを使用するには、httpd.confのAllowOverrideディレクティブをAllにする必要があります。

AllowOverride All

関連記事

スポンサーリンク

who 現在ログインしているユーザーを表示する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る