次の関数を使用して、内部のマシン上にあるかライブ サーバー上にあるかを自動検出し、さまざまなコンポーネントに適した構成を選択します。
function devIsLocal(){
$res=false;
$http_host=$_SERVER['HTTP_HOST'];
if($http_host=='localhost')$res=true;
if($http_host=='127.0.0.1')$res=true;
if(substr($http_host,-4)=='.lan')$res=true;
if(strpos($http_host, '.')===false)$res=true;
return($res);
}
ご覧のとおり、HTTP_HOST 値のみに依存しています。
もちろん、example.com のような何らかの仮想ホストをローカルで使用すると、関数はだまされます。
関数をだます他の方法はありますか?また、自分がどこにいるのかを判断するために、他にどのような変数/場所をのぞくことができますか?