開発環境と本番環境で設定が違うときはSetEnvが便利ですね

SPONSORED LINK

Pocket

setenv

先日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でしたー。

ツイッターもやっています!

SPONSORED LINK

  1. No comments yet.

  1. No trackbacks yet.