【发布时间】:2010-01-25 16:30:40
【问题描述】:
我怎么知道这是我的 php 页面的全局或本地环境
表示我正在使用 Google 地图键 有两个不同的密钥,一个用于本地服务器,另一个用于必须显示它的域,所以我如何将两个密钥的代码一起编写并页面自动检测必须使用哪个密钥
这些东西我也想申请配置文件 我希望当站点在 Web 服务器上时,配置文件采用该服务器的用户名和密码,否则采用本地用户和密码。
【问题讨论】:
我怎么知道这是我的 php 页面的全局或本地环境
表示我正在使用 Google 地图键 有两个不同的密钥,一个用于本地服务器,另一个用于必须显示它的域,所以我如何将两个密钥的代码一起编写并页面自动检测必须使用哪个密钥
这些东西我也想申请配置文件 我希望当站点在 Web 服务器上时,配置文件采用该服务器的用户名和密码,否则采用本地用户和密码。
【问题讨论】:
你可以这样做:
if($_SERVER['HTTP_HOST'] == "localhost")
{
define("LOCAL_ENV", true);
}
else
{
define("LOCAL_ENV", false);
}
那就只检查是真是假。
另一种选择是简单地使用单独的配置文件,所以服务器上的config.php是
define("LOCAL_ENV", false);
本地主机上的 config.php 是
define("LOCAL_ENV", true);
【讨论】:
你通常可以找到使用
$_SERVER["SERVER_NAME"]
查看phpinfo() 和那里的 SERVER 部分以获取服务器端变量的完整列表,包括当前工作目录(这也是您正在处理的服务器的一个很好的指标)。
我喜欢为每个服务器设置不同的配置文件:
setup.localhost.php
setup.example.com.php
这样,我不必切换任何东西。
您应该将其关闭以供生产使用,因为 $_SERVER["SERVER_NAME"] 可能在某些虚拟主机设置下被伪造。
【讨论】: