我想要一个可以同时使用localhost和webserver的数据库连接php文件。我的想法是使用一些常量,如果我在本地主机上,如果我在网络服务器上则使用其他常量。
编辑:问题的解决方案是知道天气我是否在本地主机上。
答案 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, ...);
}