<< MACでIPアドレスを知る方法 | main | ハッカーズバーに行ってきた >>

MAMP使用時の開発環境のDBサーバの切り替え

2014.10.19 Sunday | by こも
最近DBサーバにアクセスするWebサイトの作成にトライしてみました。


mac上でMAMPを使って開発していますが、一つ面倒なことがあります。

Mac内の開発環境とWeb上の本番環境を行ったり来たりして動作確認を実施していますが、
PHPで接続するDBサーバの切り替えが面倒なのです(^^;;


具体的には、開発環境ではMAMP内のローカルDBに接続し、
本番環境では本番環境内のDBに接続します。

DBのホスト名やユーザ名、パスワードなどが異なるので、
本番環境にファイルをアップロードする度にPHPのコードを書き換える必要があります。


面倒くさくて、なんとか自動化できないものかと考えました。

結論としては、今表示しているWebページのIPを取得し、
ローカルのIPならばローカルDBサーバに接続するようにしてみました。


ここで一つハマったので備忘録です。

gethostname()の関数を使うと、「localhost」か「127.0.0.1」かどちらかが
返ってくることを期待していたのですが、
返ってきた値は「MYNAME-no-MacBook-Air.local」でした。


むむむっ。どうしましょう?(^^;;


そこで、ホスト名をIPアドレスに変換して「192.168.」を含むローカルアドレスならば、
ローカルのDBに接続する形にしました。


これでまぁ、やりたいことは実現できました。


<?php
		// ホスト名からIPアドレスを取得
		$hostName = gethostname(); 
		$ip = gethostbyname($hostName);

		if (strstr($ip, '192.168.')) {
			// ローカルのDBの情報をセット
			$this->CONNECT_DB_HOST = "localhost";
			$this->DATABASE_NAME = "localDB";
		} else {
			// 本番のDBの情報をセット
			$this->CONNECT_DB_HOST = "honbanhost";
			$this->DATABASE_NAME = "honbanDB";
		}
		echo $this->CONNECT_DB_HOST."
" ; echo $this->DATABASE_NAME."
" ; ?>

もっとスマートに書ければいいのですが……(^^;;


Comment
Add Comment









Sponsored Link
Recommend
PHP 逆引きレシピ (PROGRAMMER'S RECiPE)
PHP 逆引きレシピ (PROGRAMMER'S RECiPE) (JUGEMレビュー »)
鈴木 憲治,安藤 建一,山田 直明,八木 照朗,山本 義之,河合 勝彦
Recommend
Recommend
Powered
無料ブログ作成サービス JUGEM