WordPressの設定ファイルwp-config.phpに、以下の情報が含まれていますが、
- DB_NAME
- DB_USER
- DB_PASSWORD
- DB_HOST
これをローカル、本番でいちいち修正しなおすのが面倒な為、PHPで条件分岐させて使い回しさせました。
wp-config.phpを以下のようにしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
if (strpos($_SERVER["HTTP_HOST"], '.local') === false) { define('DB_NAME', '[本番DB名]'); define('DB_USER', '[本番DBユーザ]'); define('DB_PASSWORD', '[本番DBパスワード]'); define('DB_HOST', '[本番DBホスト]'); define('IS_LOCAL', false); // ローカル設定 } else { define('DB_NAME', '[ローカルDB名]'); define('DB_USER', '[ローカルDBユーザ]'); define('DB_PASSWORD', '[ローカルDBパスワード]'); define('DB_HOST', '[本番DBホスト]'); define('IS_LOCAL', true); } |
最初の条件になっている if (strpos($_SERVER[“HTTP_HOST”], ‘.local’) === false) { は、ホスト名に.localが含まれない場合という意味で使用しています。
自分は ドメイン.local をローカル環境、 ドンリン.net を本番環境にしているので、.localがあるかないかで切り分けています。