如何区分本地和全局服务器

时间:2010-01-25 16:30:41

标签: php localhost

我怎么知道这是我的php页面的全局或本地环境

表示我正在使用Google地图密钥  本地服务器有两个不同的密钥,另一个用于必须显示的域,因此如何将两个密钥的代码编写在一起,页面自动检测哪个密钥必须使用

这些东西我也想申请配置文件 我希望当站点在Web服务器上时,配置文件需要该服务器的用户名和密码,否则需要本地用户和密码。

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

if($_SERVER['HTTP_HOST'] == "localhost")
{
    define("LOCAL_ENV", true);
}
else
{
    define("LOCAL_ENV", false);
}

然后检查它是真还是假。

另一种选择是简单地使用单独的配置文件,因此服务器上的config.php是

define("LOCAL_ENV", false);

并且localhost上的config.php是

define("LOCAL_ENV", true);

答案 1 :(得分:0)

您通常可以找到

$_SERVER["SERVER_NAME"]

查看phpinfo()和那里的SERVER部分,获取服务器端变量的完整列表,包括当前工作目录(这也是您正在处理的服务器的一个很好的指示器。)

我喜欢做的是为每台服务器设置不同的配置文件:

setup.localhost.php
setup.example.com.php

这样,我不必切换任何东西。 您应该将其关闭以供生产使用,因为$_SERVER["SERVER_NAME"]可能在某些虚拟主机设置下伪造。