EC-CUBEのデータベース接続先を開発環境と本番環境で自動で分ける方法
EC-CUBEのカスタマイズや構築をしているとき、いきなり本番環境をいじることが出来ない場合はあるので、そういう時は一度ローカル環境などに開発環境を用意して、開発完了後に本番環境にアップロードすると思います。
ですが、開発環境と本番環境では使用するデータベースが変わってきますので、そのままftpでデータをアップロードするだけでは無く、開発環境用のデータベース接続情報と本番環境用のデータベース接続情報の2つを用意して切り替えなければいけません。
手動でわざわざ切り替えるのも面倒なので、自動で切り替えてくれるようにしておくとデータをアップロードするだけで済むので便利です。
データベース接続設定はどこにあるのか?
/data/config/config.phpというファイルにデータベースの接続先が書いてあります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
define('ECCUBE_INSTALL', 'ON'); define('HTTP_URL', 'http://example.com/'); define('HTTPS_URL', 'http://example.com/'); define('ROOT_URLPATH', '/'); define('DOMAIN_NAME', ''); define('DB_TYPE', 'mysql'); define('DB_USER', 'example_user'); define('DB_PASSWORD', 'example_pass'); define('DB_SERVER', 'mysqlxxx.db.sakura.ne.jp'); define('DB_NAME', 'example_db'); define('DB_PORT', ''); define('ADMIN_DIR', 'admin/'); define('ADMIN_FORCE_SSL', FALSE); define('ADMIN_ALLOW_HOSTS', 'a:0:{}'); define('AUTH_MAGIC', 'XXXXXXXXXXXXXXXXXXXXXXXX'); define('PASSWORD_HASH_ALGOS', 'sha256'); define('MAIL_BACKEND', 'mail'); define('SMTP_HOST', ''); define('SMTP_PORT', ''); define('SMTP_USER', ''); define('SMTP_PASSWORD', ''); |
ここを、HTTP_POSTによって振り分け出来るように変更します。
2-3行目のURLを自動で設定する
1 2 |
define('HTTP_URL', 'http://example.com/'); define('HTTPS_URL', 'http://example.com/'); |
2-3行目にHTTPとHTTPSのURLが明示的に記載されていますが、ここをhttp_hostによって自動で切り替えてくれるように以下の様に変更します。
1 2 |
define ('HTTP_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); define ('HTTPS_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); |
その他のDB接続情報を設定する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
//テストサーバー用 if ($<em>SERVER['HTTP_HOST'] == 'localhost:8888') { define('ECCUBE_INSTALL', 'ON'); define ('HTTP_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); define ('HTTPS_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); define('ROOT_URLPATH', '/'); define('DOMAIN_NAME', ''); define('DB_TYPE', 'mysql'); define('DB_USER', 'develop_user'); define('DB_PASSWORD', 'develop_pass'); define('DB_SERVER', 'localhost'); define('DB_NAME', 'develop_db'); define('DB_PORT', ''); define('ADMIN_DIR', 'admin/'); define('ADMIN_FORCE_SSL', FALSE); define('ADMIN_ALLOW_HOSTS', 'a:0:{}'); define('AUTH_MAGIC', 'XXXXXXXXXXXXXXXXXXXXXXXX'); define('PASSWORD_HASH_ALGOS', 'sha256'); define('MAIL_BACKEND', 'mail'); define('SMTP_HOST', ''); define('SMTP_PORT', ''); define('SMTP_USER', ''); define('SMTP_PASSWORD', ''); } //それ以外の場合(本番環境) else{ define('ECCUBE_INSTALL', 'ON'); define ('HTTP_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); define ('HTTPS_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); define('ROOT_URLPATH', '/'); define('DOMAIN_NAME', ''); define('DB_TYPE', 'mysql'); define('DB_USER', 'example_user'); define('DB_PASSWORD', 'example_pass'); define('DB_SERVER', 'mysqlxxx.db.sakura.ne.jp'); define('DB_NAME', 'example_db'); define('DB_PORT', ''); define('ADMIN_DIR', 'admin/'); define('ADMIN_FORCE_SSL', FALSE); define('ADMIN_ALLOW_HOSTS', 'a:0:{}'); define('AUTH_MAGIC', 'XXXXXXXXXXXXXXXXXXXXXXXX'); define('PASSWORD_HASH_ALGOS', 'sha256'); define('MAIL_BACKEND', 'mail'); define('SMTP_HOST', ''); define('SMTP_PORT', ''); define('SMTP_USER', ''); define('SMTP_PASSWORD', '');</p> <p>} |
この用にif文で分けることで、HTTP_HOSTが開発環境だった場合は開発環境用のDBに、それ以外の場合(本番環境)の場合は本番用のDBに自動で接続させることが出来ます。
関連記事
-
たまごカートの広告媒体管理のトラッキングパラメーターをad_codeから変更する方法
定期購入サービス向けのショッピングカート たまごカートのカスタマイズ情報です。 たまごカートでは、
-
【絶対に知っておかなきゃいけない】紙媒体とWEBデザインにおけるデザイン作法の違いについて #デザイン#web
最近、紙媒体のデザインとWEBのデザインでは、結構作法が違うところが多いなぁ、と思うことが増えてきた
-
素人でも【本当に】簡単に更新できるオープンソースCMS concrete5をインストールしてみた。
concrete5とは、ウェブサーバー上で、誰でも簡単で、しかも直感的にホームページの運営管理が出
-
ロリポップサーバーでCGIなどが動かなくなった場合の対処法
今回のロリポップのwordpressへの大規模ハッキングをうけて、ロリポップ側でいろいろ対応が始まっ
-
2.ConoHaVPSにSFTPでとりあえずログインする方法
前回に引き続き、今回はConoHaにSFTPで接続する方法です。 前回の設定でSSH接
-
オープンソースの顧客管理システムL03の顧客情報の追加できる項目数を10から30に増やしてみた。
sugarCRMと迷ったのですが、sugarCRMは機能が多すぎて面倒そうなので、シンプルなこちらを
-
XAMPPインストール時にapacheが起動しないときは・・・
PHP & MySQLをローカルでテストするときによく使うXAMPPですが、apacheを起
-
jqueryでtableに一行飛ばしで背景色を付ける方法
最近はちょっとandroidからは離れてhtml,PHP ,Javascript関
-
3.ConoHaVPSで複数ドメインを割り当てるためにVirtual Hostsを設定する
次に、ConoHa VPSに複数のドメインを割り当てる際のVirtual Hostsの設定を
-
レスポンシブWEBデザインに対応するニュースティッカーをjQueryとbootstrap3を使って作ってみた。
ニュースティッカーをレスポンシブWEBサイトで実装することになりましたので、作ってみたのです
Additional comments powered byBackType