$_SERVER['SERVER_NAME']での環境の切り替え
<?php
if (\filter_input(INPUT_SERVER, "SERVER_NAME") === "sample.com") {
// 本番での設定
} else {
// ローカルでの設定
}
注意: Apache 2 では、UseCanonicalName = On と ServerName を設定する必要があります。 そうしなければ、この値はクライアントが提供するホスト名を指すようになってしまい、無意味です。 また、セキュリティ的な意味合いでこの値に頼ってはいけません。
サーバーの設定によっては$_SERVER['SERVER_NAME']は取得できない場合もある。
$_ENVでの環境の切り替え
.htaccess
# 本番環境の.htaccess
SetEnv Env production
<?php
if (\getenv('ENV') === 'production') {
// 本番での設定
} else {
// ローカルでの設定
}
参考(さらにクラスの静的変数に依存)
@suin さん
こんなかんじで環境を切り替えます pic.twitter.com/IUkirRdvEP
— suin❄️PHPでオブジェクト指向 (@suin) 2019年5月30日