ナイアガラ

ナイアガラ

PR

Profile

maple

maple

Keyword Search

▼キーワード検索

Calendar

Comments

maple @ Re[1]:岩盤浴(01/24) ピラニAさん コメントありがとうござ…
ピラニA @ Re:岩盤浴(01/24) お久し振りです。 今年も宜しくお願いし…
maple @ Re[1]:日々のサイクル(11/16) ピラニAさん >社会人復帰、おめでと…
ピラニA @ Re:日々のサイクル(11/16) 社会人復帰、おめでとうございます?! …
maple @ Re[1]:ボルダリング初挑戦(11/09) ピラニAさん >こんにちは。 こんに…
2010年04月25日
XML
カテゴリ: エンジニア
CakePHPでもRailsと同じように「環境による切り分け」をしたかったのでやってみた。
「環境による切り分け」というのは、例えばDB接続情報のhostとかを
(本番環境に置くときに)ソースコード側を変更するのではなく
環境変数で制御する、という意味。(んー。分かりにくい。)


○Apache起動スクリプト修正
- まずは、開発環境で以下のファイルを修正する。
/etc/init.d/httpd
- 以下の1行を先頭に追加
export CAKE_ENV=development


- "app/config/core.php"に追加(このファイルが適切かどうかは要検討)
define('ENV_PRODUCTION', 'production');
define('ENV_STAGING', 'staging');
define('ENV_DEVELOPMENT', 'development');
if(isset($_ENV["CAKE_ENV"]) && $_ENV["CAKE_ENV"] == ENV_DEVELOPMENT) {
Configure::write('App.environment', ENV_DEVELOPMENT);
} elseif(isset($_ENV["CAKE_ENV"]) && $_ENV["CAKE_ENV"] == ENV_STAGING) {
Configure::write('App.environment', ENV_STAGING);
} else {
Configure::write('App.environment', ENV_PRODUCTION);
}


- 例えば"core.php"の"debug"設定を以下のように変える。
if(Configure::read('App.environment') == ENV_DEVELOPMENT) {
Configure::write('debug', 2);
} else {
Configure::write('debug', 0);


面倒だけど、バッチ処理の時も同じように環境変数を設定してあげないといけない。

とりあえず開発環境では動いたけど、まだ本番にはあげてないから
うまく動くかは分からないけど。。。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2010年04月25日 18時03分07秒
コメント(0) | コメントを書く
[エンジニア] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: