我们使用以下函数自动检测我们是在机器内部还是在实时服务器上,然后为各种组件选择适当的配置:
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,那么该功能将被欺骗.
'127.0.0.1' == $_SERVER["REMOTE_ADDR"]
在您的实时系统上永远不会评估为TRUE.