開発環境と本番環境で設定が違うときはSetEnvが便利ですね
- April 15th, 2010
- Posted in 開発ツール・技術
- Write comment

先日akiyanに教わっていまさらながらすごい便利だ!と思ったのでショートエントリー。多分「そんなの当たり前じゃーん」というひとが多いような気もするのでそういう方はさらりとスルーの方向でお願いいたします。
さて、開発環境と本番環境で変数の値を変えたいことはよくありますよね。URLだとか、tempディレクトリだとか。そういうときに本番環境にアップするたびに変数を書き換えるのはなんとも非効率です(特にgit pullとかpushとかしているときに)。
そこでApacheの環境変数を設定し、プログラムからそれを読み出すようにすれば万事解決です。
一般的っぽいのは、VirtualHostに直接書いちゃうことですね。
例えば開発環境にはこんな感じ。
<VirtualHost *:80> DocumentRoot /home/webadmin/dev.100shiki.com/public_html ServerName dev.100shiki.com SetEnv SITE_URL http://dev.100shiki.com SetEnv UPLOAD_DIR /home/webadmin/dev.100shiki.com/uploads </VirtualHost>
で、本番環境はこうしておきます。
<VirtualHost *:80> DocumentRoot /home/webadmin/100shiki.com/public_html ServerName 100shiki.com SetEnv SITE_URL http://100shiki.com SetEnv UPLOAD_DIR /home/webadmin/100shiki.com/uploads </VirtualHost>
ここまで準備しておいて、PHPなんかのファイルでは次のように呼び出せばOKです。
$_SERVER['SITE_URL'];
こうしておけばソースの方は変更なしで、どの環境でも使えますね。ちょっとした開発Tipsでしたー。


No comments yet.