PHP - 适用于localhost和webserver的数据库连接

时间:2013-02-04 20:05:28

标签: php database connection webserver localhost

我想要一个可以同时使用localhost和webserver的数据库连接php文件。我的想法是使用一些常量,如果我在本地主机上,如果我在网络服务器上则使用其他常量。


编辑:问题的解决方案是知道天气我是否在本地主机上。

3 个答案:

答案 0 :(得分:3)

$local = array('localhost', '127.0.0.1');

if(in_array($_SERVER['HTTP_HOST'], $local)).     
{
$pdo = new      PDO('mysql:host=localhost;dbname=database', 'user', 'password');
}
else
{
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
}

您应该使用PDO。这将检查localhost和127.0.0.1

答案 1 :(得分:2)

您真正需要做的是制作每个环境版本化的配置文件。您将拥有一个包含数据库连接信息的本地/ dev配置文件,然后是另一个用于生产或暂存的配置文件。

您只需将PHP应用程序指向适当的配置文件,然后应用程序将与正确的数据库计算机进行通信。

尝试使应用程序指向多个环境是个坏主意。这很快就会让人感到困惑。

答案 2 :(得分:1)

您随时可以查看$_SERVER['HTTP_HOST']

if ($_SERVER['HTTP_HOST'] == "localhost") {
    mysql_connect($host_local, ...);
} else {
    mysql_connect($host_web, ...);
}